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