.net - Layered Architecture Inside One Assembly -


i prefer separate 3 layer .net applications separate projects enhance modularity , separation of concerns, have performance issues on computer (not enough memory , processing power) visual studio slow , not pleasing work when there many projects in 1 solution, though of putting layers in 1 assembly still use code , design if each type in respective layer. want know 1 thing, if of have tried doing this, there recommend or don't or idea regarding ?
not looking discussion, want know if there serious risks doing way ?

one of reasons layering beneficial in .net , other strongly-typed platforms can't (easily) add circular references between projects/libraries. ensures that, @ least @ package level, dependencies form directed acyclic graph (dag). thing, because forces reduce coupling.

in c#, it's possible compile code forms cyclic graphs (classa references classb, references classc, in turn references classa). thus, putting code single visual studio c# project removes of compile-time protection layering provides.

however, if instead write entire project in f#, you'll regain compile-time protection, because f# code doesn't compile if contains cycles (although 1 can declare specific exceptions rule within module... see section on mutually recursive types).

so, if write entire application in c#, you're going have problems, if write in f#, should good.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -