Jestem odpowiedzialny za dużą stronę internetową opartą na Asp.Net. Obecnie jest to strona internetowa (nie aplikacja internetowa), niektóre usługi systemu Windows i wiele bibliotek klas.
Warstwa danych używa mieszanki LLBLGEN i Linq To LLBGen, a także szeregu starszych wersji wbudowanego SQL, które nie zostały ponownie przetworzone.
Istnieje kilka implementacji typu menedżera, ale w wielu przypadkach aplikacja wykazuje anty-wzorzec Smart UI (tj. Zbyt dużo logiki biznesowej w kodzie za klasami)
Witryna ma dość duży ruch, a wydajność jest w porządku, ale zwiększamy nasze możliwości rozwoju do zespołu około 10 osób i coraz bardziej oczywiste jest, że potrzebujemy nadrzędnego warstwowego projektu na bazie istniejącego oprogramowania pośredniego.
Moje pytanie brzmi: od czego zacząć? Mamy 10 lat kodu (niektóre z nich wciąż tak naprawdę migrowały z ASP Classic), wiele różnych podejść i stylów.
Refaktoryzacja całej bazy kodu nie jest realistyczna i prawdopodobnie nie jest pożądana
Wiem, że to nie jest nowa sytuacja, czy są jakieś użyteczne pomysły lub koncepcje, jak podejść do tego problemu?