473,698 Members | 2,841 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1386
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********@yah oo.com> wrote in message
news:ae******** ************@ma gma.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********@yah oo.com> wrote in message
news:ae******** ************@ma gma.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********@yah oo.com> wrote in message
news:ae******** ************@ma gma.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********@yah oo.com> wrote in message
news:ae******** ************@ma gma.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
1448
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(){}; ~testClass(){};
2
1559
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. However, for simple properties it works for me, but I actually need a bit more than just properties. For example, my class actually contains a collection of strings as well, now is using XmlSerializer the right choice? I don't know how many there...
2
1943
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 for my needs as I would like to rewrite this in access - visual basic. It is basically a database frontend for real estte agents with a ODBC-connection to my website where property for sale may be displayed. Pictures need to be uploaded and...
14
2810
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 different computers at max. (Admin and User) The table sizes won't get too big. I am thinking 10 thousand records at max for the biggest table. (they will be replaced each year, ie: all the records in the tables will be removely and backed up...
5
1787
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 MS SQL 2000 server, which we accessed (both for read and write) as a linked ODBC table. Over the period of time, the system has become quite complex, with 30 tables, 30 forms and a size of 140 M. We have been facing a number of problems during...
3
1275
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 to thousands of clients and please let me know if there is any other alternative? or should i send the data point to point to individuals who login to my system. Anyhelp with C# code shall be a great help to me.
1
1039
by: subash.rishihar | last post by:
Is Asp.Net a right choice for Applications for PDA. Give your comments & suggestions. Thank You, Rishi........
4
1376
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? Regards, M.Mageswaran
0
8683
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9031
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8901
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8871
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5862
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4371
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4622
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3052
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 we have to send another system
3
2007
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 can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.