473,385 Members | 1,673 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,385 software developers and data experts.

N-Tier, is the right choice?

Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some common
functions. When user choose an instrument, the other instruments may not be
needed at all. So I was thinking if I want to write one executable file and
put all instruments functions in it, I will have a huge file and user just
needs 2% of that. So I thought that could be better to have an executable
file for each instrument. But we need a form to choose them, plus they are
some common functions in a group or there are some functions to link two
different instruments. So each executable file should be individual but not
completely (not in separate solution). Now how should I design it? Should I
use N-Tier solution?

Thanks
Nov 17 '05 #1
7 1373
place all common functionalty in a seperate dll, place shared by some
instruments's functionalty as seperate as you can in multiple dll files. and
at least, place instrument specific functionality in its own dll. then use
them like plug-in's. tiered architecture would be good idea.
Nov 17 '05 #2
Hi,

You are confusing two things, the logical design ( classes,struct , etc )
and physical ( .dll , .exe )
IMO at this point you should concentrate in the first, how to implement the
classes, you said that you can group them , maybe this can be represented
with one abstract base class that implement (or define) the common
functions.

You have to define an abstract instrument from where all the groups derive
from. This would allow you to create a collection of instruments. If as it
seems from your post an user can select what instrument it can choose from
then you could for example declare all of them in an assembly, then you
could using reflection get all the classes that implement a giving interface
(IInstrument).
Depending of how big your code is you could put them in a single dll. If
not possible remember to declare the shared declarations ( Interfaces, etc)
in a single dll and make all the other dlls reference this common one.

Take a look at http://www.yoda.arachsys.com/csharp/plugin.html

cheers,

--
Ignacio Machin,
ignacio.machin AT dot.state.fl.us
Florida Department Of Transportation

"Adine" <ad********@yahoo.com> wrote in message
news:ae********************@magma.ca...
Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some
common functions. When user choose an instrument, the other instruments
may not be needed at all. So I was thinking if I want to write one
executable file and put all instruments functions in it, I will have a
huge file and user just needs 2% of that. So I thought that could be
better to have an executable file for each instrument. But we need a form
to choose them, plus they are some common functions in a group or there
are some functions to link two different instruments. So each executable
file should be individual but not completely (not in separate solution).
Now how should I design it? Should I use N-Tier solution?

Thanks

Nov 17 '05 #3
Thanks for your help. Now I have a better idea how to design the program. As
you mentioned, I confused. I'm newbie in OOP :) I will go and study more
on your answers and I may back to you guys with more questions :)

Thanks again

"Adine" <ad********@yahoo.com> wrote in message
news:ae********************@magma.ca...
Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some
common functions. When user choose an instrument, the other instruments
may not be needed at all. So I was thinking if I want to write one
executable file and put all instruments functions in it, I will have a
huge file and user just needs 2% of that. So I thought that could be
better to have an executable file for each instrument. But we need a form
to choose them, plus they are some common functions in a group or there
are some functions to link two different instruments. So each executable
file should be individual but not completely (not in separate solution).
Now how should I design it? Should I use N-Tier solution?

Thanks

Nov 17 '05 #4
> Should I use N-Tier solution?

No. You don't yet know what an N-Tier solution is yet. If you did, you would
not need to ask. Pop phrases may impress your peers, but they don't pay the
bills, get you a raise, or improve your lot in life. Knowing what they mean
is much more valuable. I would suggest some earnest study into the subject,
and then you will know what to do and how to do it.

Here's a good place to start:

http://search.microsoft.com/search/r...&c=4&s=1&swc=4

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A watched clock never boils.

"Adine" <ad********@yahoo.com> wrote in message
news:ae********************@magma.ca...
Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some
common functions. When user choose an instrument, the other instruments
may not be needed at all. So I was thinking if I want to write one
executable file and put all instruments functions in it, I will have a
huge file and user just needs 2% of that. So I thought that could be
better to have an executable file for each instrument. But we need a form
to choose them, plus they are some common functions in a group or there
are some functions to link two different instruments. So each executable
file should be individual but not completely (not in separate solution).
Now how should I design it? Should I use N-Tier solution?

Thanks

Nov 17 '05 #5
It sounds to me as though you need a plugin solution. N-tier refers to
distributed applications where the user-interface, business-logic, workflow
and database layers are disconnected. You have a buzzword overload.

For instruments that have common functions, create a base class that caters
for the functions. For more specialized cases, create a DLL that contains
classes based on the common base-class DLL.

You can create plug-in solutions easily with .NET. I guess what you really
need is architecture advice.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.

"Adine" <ad********@yahoo.com> wrote in message
news:ae********************@magma.ca...
Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some
common functions. When user choose an instrument, the other instruments
may not be needed at all. So I was thinking if I want to write one
executable file and put all instruments functions in it, I will have a
huge file and user just needs 2% of that. So I thought that could be
better to have an executable file for each instrument. But we need a form
to choose them, plus they are some common functions in a group or there
are some functions to link two different instruments. So each executable
file should be individual but not completely (not in separate solution).
Now how should I design it? Should I use N-Tier solution?

Thanks

Nov 17 '05 #6
Keep in mind that the size of an assembly (whether it's an EXE or a DLL)
does not equate to runtime memory consumption, in that each *method* is
JIT compiled the first time it's executed. If you have 1500 methods and
only use 40 of them, then only 40 methods get JITted and reside in memory.

You don't need to be overly concerned with the size of your assemblies.
Organize your solution logically in projects and the assemblies will
pretty much take care of themselves. I would have the application in
one project, the common routines used by various instruments in another,
and then a specific project for each instrument. The end result will be
that the application will be an EXE, and each instrument will have its
own DLL and the app will use a shared DLL with shared classes and
utility methods plus the DLL for the instrument it's working with. I
would do this not out of a concern for assembly size, but just because
it's a logical way to organize things and increases the likelihood of
code reuse in other solutions.

--Bob

Adine wrote:
Hi,

I need to develop a program to control electronic instruments. We have so
many different instruments but we can group them. Each group has some common
functions. When user choose an instrument, the other instruments may not be
needed at all. So I was thinking if I want to write one executable file and
put all instruments functions in it, I will have a huge file and user just
needs 2% of that. So I thought that could be better to have an executable
file for each instrument. But we need a form to choose them, plus they are
some common functions in a group or there are some functions to link two
different instruments. So each executable file should be individual but not
completely (not in separate solution). Now how should I design it? Should I
use N-Tier solution?

Thanks

Nov 17 '05 #7
+ updating base functionality, or upgrading, will be more easy.
Nov 17 '05 #8

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

Similar topics

2
by: qazmlp | last post by:
I just noticed the following class design in a module. class testClass { public: static long utilFunc1() ; static long utilFunc2() ; static long utilFunc3() ; private: testClass(){};...
2
by: yinjennytam | last post by:
Hi all I'm learning XML and .NET and I saw an example of using XmlSerializer to deserialize an XML file to get the corresponding object in memory. I found it very useful for my purpose. ...
2
by: Dennis Freud | last post by:
Hi, I´m asking for some general advice here. I have a project which has been developed in Delphi up to a point where my developer split up with me. I have to decide now wether access is suitable...
14
by: Mark | last post by:
Yes, my family business wants to create an accounting database to keep track of invoices, production, inventory, man hours, etc.... There will be two kinds of users to access the database, on two...
5
by: Praty77 | last post by:
Hello - we have been using access 97 for a multiple user trading system at a small bank. Typically around 10 users entered a total of hundred trades everyday. Some of the data was shared with a...
3
by: Irfan Ahmed | last post by:
Hi, I am creating an online trading system and I need to display currency rates on my client machines over internet. can anybody tell me if the multicasting is the right choice for sending data...
1
by: subash.rishihar | last post by:
Is Asp.Net a right choice for Applications for PDA. Give your comments & suggestions. Thank You, Rishi........
4
mageswar005
by: mageswar005 | last post by:
Is php is a right choice to enter IT Field? I dont know how about php market is in IT Field, Can any one give me the clear idea about IT Industry. In Future Which language will stable in IT Field?...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
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: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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...

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.