Click here to Skip to main content
15,898,373 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
QuestionRe: Different UML Diagrams for Web Based "Recruitment Management System" Pin
Eddy Vluggen5-Sep-09 23:51
professionalEddy Vluggen5-Sep-09 23:51 
AnswerRe: Different UML Diagrams for Web Based "Recruitment Management System" Pin
Richard MacCutchan8-Sep-09 1:42
mveRichard MacCutchan8-Sep-09 1:42 
QuestionSuggest a desing Pin
ME_Learner27-Aug-09 20:23
ME_Learner27-Aug-09 20:23 
Answercross-post Pin
Luc Pattyn28-Aug-09 1:08
sitebuilderLuc Pattyn28-Aug-09 1:08 
QuestionDesign pattern suggestion Pin
majee26-Aug-09 0:54
majee26-Aug-09 0:54 
AnswerRe: Design pattern suggestion Pin
Eddy Vluggen26-Aug-09 9:24
professionalEddy Vluggen26-Aug-09 9:24 
GeneralRe: Design pattern suggestion Pin
majee26-Aug-09 23:57
majee26-Aug-09 23:57 
QuestionHow to Desing an Extensibile Application Pin
Sling Blade 2225-Aug-09 15:05
professionalSling Blade 2225-Aug-09 15:05 
Hi,

I have a design question.

Certain modules in my application will behave differently depending on which state in the U.S. the user lives.

I will try to explain my question by talking about one module in particular, lets says its a sales tax module...

I am using strategy pattern to set the behavior of certain classes at runtime, in this case it depends on which state the user is in.

I have an abstract SalesTaxBase class that sets its behavior through the use of the ISalesTax interface. My concrete implementations that handle the specifics of each State's sales tax rules are called SalesTaxBehavior<state name=""> and they implement ISalesTax. Which SalesTaxBehavior class is used is determined at runtime depending on the State in the U.S. the user is in. Typical strategy pattern...

My issue is I want to release the program but I haven't completed all of the SalesTaxBehavior concrete implementations yet. My plan is to let the user download the latest module as they become available and then the program will be able to set the behavior of the SalesTaxBase class based on the newly downloaded SalesTaxBehaviorForNewMexico class.

Finally my question... How can I deploy my application so that the application sold today can call a SalesTaxBehavior class I create and the user uploads next year.

I was thinking of using a switch statement that said, if the state is Alabama use the SalesTaxBehavoirForAlabama class and so on for each SalesTaxBehavoir class I have already completed at the release date.

However the switch statement is concrete and so it won't know of any additional SalesTaxBehavior classes implemented after the initial release.

I don't want to update the original dll I only want to add additional dll's that perform the new functionality. In other words the design solution of how to add additional modules at a later date needs to be closed for modification but open for extension.

What would be a good method for updating my program to handle the latest SalesTaxBehavior class that has just be uploaded? To summarize what I need is a way so my app knows of and can call all of the modules that it currently contains and also those that will be added in the future.

What about a text or xml file that the application reads that contains the details of the added modules? Is that a common method for this kind of problem? (This just occurred to me as I was about to hit send...)


I hope I have been succinct enough; please let me know if I need to clarify anything.
AnswerRe: How to Desing an Extensibile Application Pin
Eddy Vluggen26-Aug-09 9:44
professionalEddy Vluggen26-Aug-09 9:44 
GeneralGeneric Report Filter Screen Pin
Brady Kelly25-Aug-09 9:41
Brady Kelly25-Aug-09 9:41 
GeneralRe: Generic Report Filter Screen Pin
Mycroft Holmes6-Sep-09 16:36
professionalMycroft Holmes6-Sep-09 16:36 
QuestionUML dependency and association Pin
pierpaolo paparo24-Aug-09 3:26
pierpaolo paparo24-Aug-09 3:26 
QuestionDesign auto-XLS editor? Pin
cdietschrun17-Aug-09 5:09
cdietschrun17-Aug-09 5:09 
QuestionRefactoring tools Pin
Chiman115-Aug-09 10:51
Chiman115-Aug-09 10:51 
QuestionDesign mp3 decoder using FPGA (VHDL) Pin
denn1014-Aug-09 8:02
denn1014-Aug-09 8:02 
QuestionExtracting Specific Data From XmlLogEntry Object Problem Pin
malak nour8-Aug-09 1:27
malak nour8-Aug-09 1:27 
AnswerRe: Extracting Specific Data From XmlLogEntry Object Problem Pin
Muhammad Mazhar8-Aug-09 3:39
Muhammad Mazhar8-Aug-09 3:39 
QuestionI2C communication Pin
shakils4-Aug-09 20:38
shakils4-Aug-09 20:38 
QuestionDDD vs CSLA.NET Pin
Brendan Vogt3-Aug-09 3:07
Brendan Vogt3-Aug-09 3:07 
AnswerRe: DDD vs CSLA.NET Pin
Curtis Schlak.11-Aug-09 16:31
Curtis Schlak.11-Aug-09 16:31 
QuestionRe: DDD vs CSLA.NET Pin
Brendan Vogt11-Aug-09 21:12
Brendan Vogt11-Aug-09 21:12 
AnswerRe: DDD vs CSLA.NET Pin
Pete O'Hanlon11-Aug-09 23:20
mvePete O'Hanlon11-Aug-09 23:20 
AnswerRe: DDD vs CSLA.NET Pin
Curtis Schlak.14-Aug-09 11:13
Curtis Schlak.14-Aug-09 11:13 
QuestionCPU and RAM Benchmark Pin
bibincherianv30-Jul-09 18:49
bibincherianv30-Jul-09 18:49 
Questionthree-tier architecture, provider model design pattern and strongly-typed dataset Pin
pierpaolo paparo29-Jul-09 7:56
pierpaolo paparo29-Jul-09 7:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.