tags:

views:

55

answers:

1

I have a project Foo#1 that refers to a project Utilities#1

I want to add a new project Foo#2 that inherits from Foo#1. I need the functionalities of Utilities#1 and also want new functionalities that are specific to Foo#2.

What kind of project layout/architecture should I approach for the above solution?

I can keep Utilities#1 common for both Foo#1 and Foo#2 but wouldn't it be a problem if I add speficif functionalities for Foo#2 to Utilities#1.

I can also create a project Utilities#2 that can inherit from Utilities#1, but is it a good approach?. Suppose I add Foo#3 and Foo#4, I will have Utilities#3 and Utilities#4.

What is the best approach?

I am using .net 1.1

A: 

I think you should consider what the original reason for splitting your software into several assemblies (projects?) was. Plain "Utilities" assemblies often tend to become sinks attracting all sorts of garbage. If you can't think of any such reason, you can definitely put it all in one assembly, and split it later on during development when you have had a better chance to get the full picture.

If there is a certain functionality Z that you want to be reusable, then create a separate project for it.

norheim.se