asp.net mvc - Should this be done with multiple or a single MVC Package? -
currently there multiple (about 15-30) independent web applications written in language. each 1 independent files, images, headers, users, databases etc. etc. whole 9yards, except exist under same domain , should have same style (but don't). converted c# asp.net mvc 2. share same ldap authentication.
the question has come in mind whether these should setup multiple mvc solutions or done within single mvc application. have same styles, same images, , nice them share basic functions.
the reason isn't simple cut , dry solution me, of these applications quite large , throwing them might hard manage. not mention development of new applications continue new features added existing ones. making possibly extremely large solution.
i new mvc , though have understanding of now, i'm still trying rewire brain here , there work methodology , design.
i guess i'm asking for, of have more experience mvc share incite , wisdom mvc in practical use give me direction start thinking.
please, make favor , not combine them in single solution. worked once in project had 1 huge solution work , root of evil. if place in single solution, increasing complexity of projects, might thinking, i going save few lines of code reusing something, truth creating deadly solution become bottleneck eventually
consider following:
the performance of visual studio affected when have more 30-40 projects, means build going take more , more time.
if implement build server (and should) if have 1 huge solution, script build projects related each application complex
now think did difficult part of design when say:
currently there multiple (about 15-30) independent web applications written in language
if applications independent means have independent domain, there no reason place them in single solution, not treat them modules.
managing independent solutions does not mean cannot have shared components among them, (btw when shared components mean infrastructure components, please not try reuse domain objects).
so question how should reference shared components?
in these days, have found best way reuse infrastructure components among solutions-projects, using nugets. using nugets makes easy distribute new version of components, suggestion is: create private nuget server in organization (a simple iis application) , add server own private packages , reference them solutions
you can place in nuget packages practically need including:
- assemblies
- xml config files (including common xml logger configuration files)
- common javascript files
- common style sheets files
- etc...
this article create private nuget repository
to create nuget:
and integrate creation of nuget in ci server:
Comments
Post a Comment