473,473 Members | 2,213 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Project/Class Library/DLL with different namespace?

2 New Member
Hi
We have the below 6 class libraries in our ASP.NET project


1. Application.UI - //Contains all the aspx and UI control, css/ images web.config etc. (assembly name : Project.Application.UI)
2. Controls,UI - //Contains all custom build user controls. (assembly name : Project.Controls.UI)
3. BusinessLogic // Contains all the business logic data/ complex business objects (assembly name : Project.BusinessLogic)
4. DataObjects //Contains objects that represent database fields. (assembly name : Project.DataObjects)
5. DataAccess // SQL data access components (assembly name : Project.DataAccess)
6. Utilities// Contains helper classes with help functions (assembly name : Project.Utilities)

Recently someone decided to move some of Data Objects classes to Business Logic but leave the namespace unchanged. For example in the BusinessLogic library (Project.BusinessLogic) now contains classes with namespaces - Project.DataObjects. Is this a good approach? What are the consequences of this?
Please note: We also have intention to use security code analysis tools (CAT.NET) and csProductBuild for the build process.

Please help.
Regards,
raj
Jun 13 '09 #1
3 2867
sameaname
2 New Member
I have two options to setup ASP.NET web application. Please can anyone tell me which one is better than the other one and why?

Option A

1. Application.UI - //Contains all the aspx and UI control, css/ images web.config etc. (assembly name : Project.Application.UI)
2. Controls,UI - //Contains all custom build user controls. (assembly name : Project.Controls.UI)
3. BusinessLogic // Contains all the business logic data/ complex business objects (assembly name : Project.BusinessLogic)
4. DataObjects //Contains objects that represent database fields using properties. (assembly name : Project.DataObjects)
5. DataAccess // SQL data access components (assembly name : Project.DataAccess)
6. Utilities // Contains helper classes with help functions (assembly name : Project.Utilities)



Option B
1. Application.UI - //Contains all the aspx and UI control, css/ images web.config etc. (assembly name : Project.Application.UI)
2. Controls,UI - //Contains all custom build user controls. (assembly name : Project.Controls.UI)
3. BusinessLogic // Contains all the business logic data/ complex business objects. Also contains objects that represent database fields using properties (assembly name : Project.BusinessLogic)
4. DataAccess // SQL data access components (assembly name : Project.DataAccess)
5. Utilities // Contains helper classes with help functions (assembly name : Project.Utilities)

You see the only difference is the Business Logic. Which one you prefer and why would you recommend it?

Note : All assemblies are contained in a one web server.
Jun 14 '09 #2
Bassem
344 Contributor
I think there is no change except you have to reference the namespace you use classes from.
example: if N1.A uses N1.B, but B moved to N2, Now you have to reference N2; using N2; then use B.

Another thing are there classes declared to be internal in DataObject namespace, So they have to be in the same assembly to be visible.

That was a thought maybe right maybe wrong.
Regards,
Jun 15 '09 #3
Frinavale
9,735 Recognized Expert Moderator Expert
Are you having a problem with this or are you just asking us our opinions on your design changes?

As Bassem has stated there is no problem with doing this, you simply change your references to the DLL to access Objects...

What you've done is a matter of style and organization preferences. There is nothing "wrong" with what you've done and it's up to you to decide whether it's good or bad design according to how things fit into your particular application.
Jun 15 '09 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Steven T. Hatton | last post by:
I think Danny was one cup of coffee shy of full consciousness when he wrote this, but the gist of it makes sens to me: "C++ Project Organization Guidelines Last updated May 26, 2005....
12
by: Jones | last post by:
I am having problems with my C# project. The project was built using VS.net (original release with service pack 1). The project includes windows forms and a DLL (dot.net) After getting the...
3
by: Dave Veeneman | last post by:
I know there must be a simple answer to this question. I just split a Windows application into two projects; the original application and a class library. I moved a number of classes to the class...
3
by: dotNETDavid | last post by:
We've broken our app into various assemblies. The WinForm assembly provides the user interface, other assemblies provide various I/O services. I'd like to be able to call...
4
by: Holly Li | last post by:
Hi, Because of reuse, I need to mix C# project and VB.net project. To illustrate the problem, I have built 3 simple projects: 1) C# library--projc (has one class "Manager") 2) vb.net...
3
by: nadeem_far | last post by:
Hello All, I have a couple of questions and I am not able to find them any where on internet. 1. We are using a third party class library which exposes a class with the name of "class". ...
3
by: sjt003 | last post by:
I have been developing web apps in Visual Studio 2003, but since the other developers in my office don't use Visual Studio, I may have to stop too unless there is an efficient way for them to...
3
by: Phaitour | last post by:
Hi there, I'm working on developing a large Class Library project that is slowly becoming a shared "framework" library amongst multiple applications. As this shared library grows, I need to...
6
by: =?Utf-8?B?cHJhZGVlcF9UUA==?= | last post by:
I am trying to create a simple HTTP handler in ASP.net 2.0. I am using VS 2005. I am trying to handle a custom extension file givein in the URL. I have also created the following entry in the...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.