La maggior parte delle basi di codice aziendali che ho visto organizzano le loro classi in diversi progetti in base al loro scopo.
Ad esempio, all'interno di una soluzione, potresti avere i seguenti progetti:
SampleSolution.Presentation
(Cose dell'interfaccia utente)
SampleSolution.BusinessLogic
(Regole aziendali / elementi logici)
SampleSolution.Persistance
(Elementi relativi ai dati)
Ci sono molte varianti sul nome particolare dato alla libreria ... Per esempio, ho visto il progetto BusinessLogic chiamato Domain, BusinessRules, Business ... Dipende solo dalle tue preferenze. Ma la cosa principale è separare questi elementi rende le cose più manutenibili e logiche - è molto più facile trovare rapidamente la classe che stai cercando. A seconda del modo in cui l'app viene sviluppata, potrebbero esserci anche librerie aggiuntive come modelli, viste, controller, DTO (oggetti di trasferimento dati) e così via.
A seconda della natura dei tuoi compiti, può o non ha senso separarli in questo modo. Ad esempio, se stai scrivendo alcune classi che fanno cose come manipolare stringhe, o eseguire calcoli - quelli che rientrano in un tipo di "utilità" di categorizzazione - sarebbe molto sensato metterli tutti in uno biblioteca di classe. In questo modo, nei futuri incarichi, puoi semplicemente fare riferimento alla DLL compilata, che è il modo in cui normalmente utilizzi le librerie di terze parti.