473,394 Members | 1,759 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Large application design question

I have a fairly large dll, it holds all business logic for our system.

To ease up programming, I use properties that loads "on demand", for sample

Invoice.Invoice_Rows always load when you load a invoice, but on
Invoice.Invoice_Rows(0) Item you have ParentInventory where the inventory
object is loaded (when you call it) and populated with correct product.

This easy up alot, For sample, you can do
Invoice.Invoice_Rows(0).ParentInventory.sProduct_I nformationAsHTML

Now to my problem, because we do it like this, I cannot split this dll in
several smaller, because basically every class is dependant on all others,
Invoice -> Invoice row -> Inventory -> Purchase -> Vendor and so on...

(I want to split the dll to ease up customization of parts of the system)

Could it be solved by creating a common Interface class that has all
interfaces for each class?
Is that the way to do it? Is there a better way?
If thats the way to do it, is there any way to ease up the creation of the
interface classes? (I have several hundred classes in the dll atm)

Regards
Fredrik Melin
Nov 21 '05 #1
1 951
Hi Fredrik,

Sounds like you have abig problem on your hands as the information within
your class libraries are not properly encapsulated.

I would agree that the use of Interface classes are the key to this, but
would also suggest that you also look into topics such as refactoring and
UML tools such as Rational Rose or Visio that help you visualise where youa
re and where you want to get to.

Regards,

Nick

"Fredrik Melin" <mel@no_spam_for_me.dacsa.net.nospam> wrote in message
news:ur*************@TK2MSFTNGP12.phx.gbl...
I have a fairly large dll, it holds all business logic for our system.

To ease up programming, I use properties that loads "on demand", for
sample

Invoice.Invoice_Rows always load when you load a invoice, but on
Invoice.Invoice_Rows(0) Item you have ParentInventory where the inventory
object is loaded (when you call it) and populated with correct product.

This easy up alot, For sample, you can do
Invoice.Invoice_Rows(0).ParentInventory.sProduct_I nformationAsHTML

Now to my problem, because we do it like this, I cannot split this dll in
several smaller, because basically every class is dependant on all others,
Invoice -> Invoice row -> Inventory -> Purchase -> Vendor and so on...

(I want to split the dll to ease up customization of parts of the system)

Could it be solved by creating a common Interface class that has all
interfaces for each class?
Is that the way to do it? Is there a better way?
If thats the way to do it, is there any way to ease up the creation of the
interface classes? (I have several hundred classes in the dll atm)

Regards
Fredrik Melin

Nov 21 '05 #2

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

Similar topics

7
by: Ixokai | last post by:
Hello all. :) I've been a long time Python fan, and have fairly recently (with the support of a coworker who surprised me by mentioning my pet language one day) convinced my company to begin the...
36
by: Andrea Griffini | last post by:
I did it. I proposed python as the main language for our next CAD/CAM software because I think that it has all the potential needed for it. I'm not sure yet if the decision will get through, but...
1
by: John | last post by:
I'm developing an application for medical use that will be used to capture patient background and visit data. The application will have approximately 50 forms, with an average of about 20 fields...
24
by: Salad | last post by:
Every now and then I see ads that state something like "Experience with Large Databases ...multi-gig...blah-de-blah" And I have to laugh. What's the difference between a large or small database? ...
1
by: Patrick | last post by:
Hi, This post is the 'sequel' ;) of the "Data Oriented vs Object Oriented Design" post, but it can be read and treated apart from that one. I will just quote the beginning of my previous message...
4
by: HankD | last post by:
I have been given the task to upgrade the company's website. It is large and unorganized right now. There should be a main common area with subareas for each division (5). My main question is what...
5
by: Alex Glass | last post by:
I have created a winforms application and I designed it with the normal display settings, (96DPI) however, when I set the font settings to 120 DPI, my application text labels look all messed up. ...
2
by: John Wells | last post by:
Guys, I have a general question about designing databases for large data sets. I was speaking with a colleague about an application we're preparing to build. One of the application's tables...
7
by: =?Utf-8?B?U3RldmVa?= | last post by:
First off, I am not sure if this belongs in this group or the C# group. It seems more like a C++ problem to me. Anyways... I have a C# project which links in an unmanaged C++ DLL, both built...
22
by: Jesse Burns | last post by:
I'm about to start working on my first large scale site (in my opinion) that will hopefully have 1000+ users a day. ok, this isn't on the google/facebook scale, but it's going to be have more hits...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
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...

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.