1>Can I create a component for every class in a project?

2>What are the advantages and disadvantages of creating more than 1 public class within a project?

3>Can I create a Dll for every public class within a project? If yes, whenever I change one of the classes,
do all the other Dlls also need to be compiled again?

4>What is a component, as in MTS and what is the significance of more than 1 public class w.r.t MTS?
Who is Participating?
abelConnect With a Mentor Commented:
1> yes
2> maintenance, your clients may like it more, related classes should belong together, shouldn't they? For example, if you have a grid-class, why should you place the corresponding cell-class, col-class, row-class and border-class in a different project? IMHO they belong to the same project as different public classes.

to be continued...
3> You create a dll for the whole project, including all the classes. All public classes will "belong" to that dll and can be utilized by anyone making a reference to that dll.

3-extra info>
If you make each class a different project, you can create a dll for each class, but that may not be so handy.

3-++ compiling
If you recompile, but do not change the interface, you don't need to recompile the others. As soon as you shipped your product, DO NOT change the interface anymore: basic COM rule, otherwise clients may need to recompile their products as well.

to be continued...
4> MTS is a "transaction server", as the name implies. It transacts the requests to your in-process object to other clients that are not necessarily in-process with your component. MTS bridges between your component and the client, so to speak. But you can most of the times come by with an ActiveX EXE component, distributed if necessary.

About > 1 public classes, see point 2, the same applies.

If you need more clarification, let me know.

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

cspl, you appear to have some so-called abandoned questions. You may want to close them or ask for refunds if the q. have not been answered:


Some are pretty old. For the ones in the cs-area, these won't be seen by programmers, you can safely close them, they are zero-points questions anyway.

Please, don't feel offended by me pointing you at these abandoned questions. A lot of experts are doing a hell of job as so-called moderators to clean up the old questions that have been left by the questioners, there are thousands of those questions. It's just courteous to the experts that have tried to help you to show them your appreciation by giving an A grade to the one that helped you. It won't cost you any points, they are already deducted from your account.

Hi cspl,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Accept abel's comment(s) as an answer.

cspl, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
DanRollins -- EE database cleanup volunteer
Moving to the paq

Experts Exchange Moderator
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.