Строится объектная модель некой предметной области.
Архитектура: база <-> сервер приложений <-> несколько клиентских приложений
Сложность — порядка 50 классов.
Требования: автоматизация, оперативное уведомление других клиентов, откаты, генерация базового GUI по атрибутам(проперти грид и таблица).
Варианты реализаций:
1) по старинке создать несколько параллельных иерархий и запарится их поддерживать.
2) создание одной иерархии на .NET + несколько сервисных классов на каждую фичу.
Недостаток: очень много методов set/add/remove надо реализовывать типовым образом где происходят обращения к сервисным классам, отвечающим за фичи откатов и т.п. Запаришся модифицировать.
Что делать?
Варианты:
1) Заюзать макросы и шаблоны на управляемом с++.
2) Заюзать R# или Nemerle на C#.
3) Написать всё на generic-ах типа XMLNode.
Вот и думаю какие плюсы и какие минусы того или иного подхода.