Mappen of Projects in een Visual Studio Solution?

stemmen
27

Wanneer spliting een oplossing in om logische lagen, wanneer is het het beste om een ​​apart project meer dan alleen maar te groeperen door een map te gebruiken?

De vraag is gesteld op 04/08/2008 om 23:00
bron van user
In andere talen...                            


7 antwoorden

stemmen
17

Standaard wordt altijd net nieuwe map binnen hetzelfde project

  • U krijgt enkel samenstel te krijgen (zonder bijkomende ILMerge gymnastiek)
  • Gemakkelijker te verdoezelen (omdat je minder openbare soorten en methoden zullen hebben, idealiter helemaal geen)

Het scheiden van uw broncode in meerdere projecten heeft alleen zin als je ...

  • Hebben sommige delen van de broncode die deel uitmaken van het project, maar niet inzetbare standaard of helemaal niet (unit tests, extra plugins etc.)
  • Meer ontwikkelaars die betrokken zijn en je wilt om hun werk als consumeerbare zwarte doos te behandelen. (Niet erg aanbevolen)
  • Als u duidelijk uw project kunnen scheiden in geïsoleerde lagen / modules en u wilt ervoor zorgen dat ze niet kunnen cross-verbruiken interne leden. (ook niet aan te raden, want je moet beslissen welk aspect is het belangrijkste)

Als u denkt dat sommige delen van de broncode opnieuw te gebruiken zou kunnen zijn, het nog steeds niet maken als een nieuw project. Wacht maar tot je echt wilt hergebruiken in een andere oplossing en isoleren van het uit oorspronkelijke project als dat nodig is. Programmeren is niet een lego, hergebruik is meestal erg moeilijk en vaak zal niet gebeuren zoals gepland.

antwoordde op 04/08/2008 om 23:45
bron van user

stemmen
8

Het scheiden van functies in projecten is vaak een YAGNI architectuur optimalisatie. Hoe vaak heb je hergebruikt deze afzonderlijke projecten, echt? Als het niet vaak voordoen, ben je complicerende je ontwikkeling, bouw, implementatie en onderhoud van de theoretische hergebruik.

Ik prefereer scheiden in mappen (met behulp van passende namespaces) en refactoring aan projecten te scheiden wanneer u een real-life hergebruik use case hebt.

antwoordde op 17/08/2008 om 18:35
bron van user

stemmen
6

denny schreef:

Persoonlijk vind ik dat als herbruikbare code is opgesplitst in projecten is het eenvoudiger om op andere plaatsen dan is het maar in mappen te gebruiken.

Ik ben het eens met deze - als je het kunt hergebruiken, moet het in een apart project. Met dat gezegd, het is ook zeer moeilijk om effectief te hergebruiken :)

Hier bij SO, hebben we geprobeerd heel eenvoudig met drie projecten zijn:

  • MVC Web project (wat een mooi werk doet van het scheiden van uw lagen in mappen standaard)
  • Database project voor de bron controle van onze DB
  • Unit tests tegen MVC modellen / controllers

Ik kan niet voor iedereen spreken, maar ik ben blij met hoe eenvoudig we het hebt gehouden - echt snelheden de bouwt mee!

antwoordde op 04/08/2008 om 23:42
bron van user

stemmen
4

Meestal doe ik een project voor de GUI van een project voor de business logica van een project voor de toegang tot de gegevens en een project voor unit tests.

Maar soms is het verstandig om de scheiding op basis van services (als u gebruik maakt van een service-oriented architecture) hebben zoals authenticatie, Sales, enz.

Ik denk dat de vuistregel dat ik werk off van is dat als je het kunt zien als een component die een duidelijke scheiding van bekommernissen heeft dan een ander project zou verstandig zijn. Maar ik zou denken dat mappen versus projecten slechts een voorkeur of filosofie zou kunnen zijn.

Persoonlijk vind ik dat als herbruikbare code is opgesplitst in projecten is het eenvoudiger om op andere plaatsen dan is het maar in mappen te gebruiken.

antwoordde op 04/08/2008 om 23:14
bron van user

stemmen
0

Ik denk echt dat het beter is om het project ook gesplit, maar het hangt allemaal af van de grootte van het project en het aantal mensen dat aan werken.

Voor grotere projecten, ik heb een project voor

  • toegang tot de gegevens (modellen)
  • Diensten
  • voorkant
  • testen

Ik kreeg het model van Rob Connery en zijn storefront toepassing ... lijkt echt goed te werken.

mvc-storefront

antwoordde op 16/09/2008 om 00:45
bron van user

stemmen
0

Als je gaat voor het creëren van verschillende projecten, zorg ervoor dat iedereen die code toevoegt aan de oplossing is volledig op de hoogte van het voornemen van hen en doen alles wat je kunt om hen aan de afhankelijkheden tussen de projecten te begrijpen. Als u ooit hebt geprobeerd te sorteren op de puinhoop wanneer iemand is gegaan en voegde verwijzingen die er niet had moeten zijn en kreeg ermee weg voor weken zult u dit punt te begrijpen

antwoordde op 10/09/2008 om 22:36
bron van user

stemmen
0

Het scheiden van uw broncode in meerdere projecten heeft alleen zin als je ... ... Meer ontwikkelaars die betrokken zijn en je wilt om hun werk als consumeerbare zwarte doos te behandelen. (Niet erg aanbevolen) ...

Waarom is dit niet aanbevolen? Ik heb het een zeer handige manier om een ​​applicatie met meerdere ontwikkelaars werken aan verschillende delen beheren gevonden. Maakt checkins veel gemakkelijker, met name door praktisch geen samenvoegingen. Zeer zelden twee ontwikkelaars moeten werken aan hetzelfde project op hetzelfde moment.

antwoordde op 17/08/2008 om 18:19
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more