Many questions

Christopher Wright dhasenan at gmail.com
Wed May 6 18:46:49 PDT 2009


Denis Koroskin wrote:
> On Wed, 06 May 2009 02:36:21 +0400, Christopher Wright 
> <dhasenan at gmail.com> wrote:
> 
>> I see no use case for having one module in multiple files, though -- 
>> the only benefit would be private access to things defined in other 
>> files. I've never been big on making stuff private, though.
> 
> There is a use-case. Imagine you want to define a Thread class. It has a 
> common interface, but its implementation is heavily platform-specific, 
> and sometimes involves manual assembly.
> 
> Putting all the implementation into one file would make it very big, 
> source code a complete mess and following it would be very hard. 
> Instead, you may wish to define its interface in Thread.d(i), yet put 
> its implementation in multiple files: Thread_win32.d, Thread_posix.d etc.

If that's the main concern, public import works fine, along with, 
optionally, an interface.

However, if there's a lot of shared code as well as a lot of 
platform-specific code, that's not very fun at all. Your options are to 
define a base class with the common code (yech) or munge all the 
platform-specific code together.



More information about the Digitalmars-d mailing list