Click here to Skip to main content
15,906,645 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Advices designing a document-centric application Pin
Pete O'Hanlon30-Jan-09 4:22
mvePete O'Hanlon30-Jan-09 4:22 
AnswerRe: Advices designing a document-centric application Pin
Jonathan Davies30-Jan-09 1:17
Jonathan Davies30-Jan-09 1:17 
QuestionHow to create DFD Pin
Member 467943628-Jan-09 23:18
Member 467943628-Jan-09 23:18 
AnswerRe: How to create DFD Pin
Pete O'Hanlon29-Jan-09 1:06
mvePete O'Hanlon29-Jan-09 1:06 
GeneralRe: How to create DFD Pin
led mike29-Jan-09 4:40
led mike29-Jan-09 4:40 
GeneralRe: How to create DFD Pin
Pete O'Hanlon29-Jan-09 8:29
mvePete O'Hanlon29-Jan-09 8:29 
GeneralRe: How to create DFD Pin
led mike29-Jan-09 9:20
led mike29-Jan-09 9:20 
QuestionAvoiding Circular References with Application Architecture Pin
Leftyfarrell20-Jan-09 11:46
Leftyfarrell20-Jan-09 11:46 
I would like to hear comments and suggestions on the proper way to avoid circular references between projects.

Consider an app with the following assemblies:

- UI
- BusinessLogic
- DAL
- Common

So typically, the dependencies would look like this:
UI >> BusinessLogic >> DAL
and all 3 above depend on Common

So far, so good, but... lets say that I have a common collection of data that is required to be used in all 3 of the main assemblies, such as a list of supported cultures.

So I create a static helper class in the Common assembly and this gives me access to the shared singleton collection from all 3 main assemblies.

However, to populate that singleton collection when the app starts, I need to hit the database once. To do this right, I would load the collection from the database using my BusinessLogic layer.

But I cannot do this because doing so would cause a circular reference between Common and BusinessLogic.

What is the best architecture to avoid/work around this problem?

Thanks.
AnswerRe: Avoiding Circular References with Application Architecture Pin
led mike21-Jan-09 5:13
led mike21-Jan-09 5:13 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Leftyfarrell21-Jan-09 13:34
Leftyfarrell21-Jan-09 13:34 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Jon Rista21-Jan-09 18:34
Jon Rista21-Jan-09 18:34 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Leftyfarrell22-Jan-09 1:27
Leftyfarrell22-Jan-09 1:27 
GeneralRe: Avoiding Circular References with Application Architecture Pin
led mike22-Jan-09 4:59
led mike22-Jan-09 4:59 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Jon Rista22-Jan-09 5:35
Jon Rista22-Jan-09 5:35 
GeneralRe: Avoiding Circular References with Application Architecture Pin
led mike22-Jan-09 6:08
led mike22-Jan-09 6:08 
AnswerRe: Avoiding Circular References with Application Architecture Pin
Jon Rista22-Jan-09 5:11
Jon Rista22-Jan-09 5:11 
AnswerRe: Avoiding Circular References with Application Architecture Pin
Moim Hossain22-Jan-09 23:41
Moim Hossain22-Jan-09 23:41 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Jon Rista23-Jan-09 4:47
Jon Rista23-Jan-09 4:47 
QuestionRe: Avoiding Circular References with Application Architecture Pin
led mike23-Jan-09 5:23
led mike23-Jan-09 5:23 
AnswerRe: Avoiding Circular References with Application Architecture Pin
Jon Rista23-Jan-09 5:44
Jon Rista23-Jan-09 5:44 
GeneralRe: Avoiding Circular References with Application Architecture Pin
led mike23-Jan-09 7:00
led mike23-Jan-09 7:00 
GeneralRe: Avoiding Circular References with Application Architecture Pin
Jon Rista23-Jan-09 7:57
Jon Rista23-Jan-09 7:57 
QuestionRe: Avoiding Circular References with Application Architecture Pin
led mike23-Jan-09 9:19
led mike23-Jan-09 9:19 
AnswerRe: Avoiding Circular References with Application Architecture Pin
Jon Rista23-Jan-09 9:26
Jon Rista23-Jan-09 9:26 
GeneralRe: Avoiding Circular References with Application Architecture Pin
led mike23-Jan-09 10:53
led mike23-Jan-09 10:53 

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.