as a general suggestion unless the systems A & B consume data from different tables in the database you will not require a separate DAL & DTO for each system. It may be easier to just decouple the BLL first into A.BLL & B.BLL first and then decide if you can/need to decouple the DTOs.
I am not sure if anyone can suggest a clear answer to this without a little more information on the domain. On Mon, Dec 17, 2012 at 7:26 PM, Fabricio Pellegrini < fabricio.pellegr...@gmail.com> wrote: > Hello guys, > > I'm working on a project that we are making a big redesign of > its architecture. > In the past, all the systems here were sold in one big package. Even if > the client didn't need the system "B", he would have it installed but > blocked using a flag in a database table. > They were doing so, because they didn't have time/people to design a less > coupled architecture. > > Our current design is a basic three layered architecture: > > - DTO - POCO classes. > - DAL - nHibernate & fluent mapping. > - BLL - Business layer. > > > We tried to decouple the big system into small systems following the same > architecture. > > System A: > > - A.DTO > - A.DAL > - A.BLL > > System B: > > - B.DTO > - B.DAL > - B.BLL > > But we run into some cyclic references, since some classes of A.DTO uses > classes of B.DTO, vice versa. > Our first shoot was to reduce the coupling through Dependency Injection at > the DTO and BLL layers. > Now we are struggling to map our DTO classes with fluent since we need to > deal with multiple inheritance. > After some "googling", we found many comments and discussions that there > is no reason to use DI in the DTO and it should be avoid, which makes me > think that we were going into the wrong way. > > In my case, what could be done to decouple my system into small systems, > is there a better common architecture for it? > Should I separate my DTO classes into small projects or keep them in one > big DTO? > > Thanks > > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Fluent NHibernate" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/fluent-nhibernate/-/7s_QNEURcZwJ. > To post to this group, send email to fluent-nhibernate@googlegroups.com. > To unsubscribe from this group, send email to > fluent-nhibernate+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/fluent-nhibernate?hl=en. > -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibernate@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.