|
Вопросы по Domain Driven Design
|
|||
---|---|---|---|
#18+
Почитав Фаулера PoEAA, а также немного поковыряв пример от тов. МакКарти и ничего в примере не поняв, признаю собственную беспомощность и прошу уважаемых специалистов ответить на следующие вопросы: 1. Я так понимаю, что DDD - это архитектура, ориентированная на описание богатой методами объектной модели. Проектирование приложения баз данных в стиле DDD не отличается от написания обычного win-приложения с объектами и методами. То есть у меня есть обычные объекты с обычными же методами, изменяющими другие объекты, генерирующими новые и т.п. [ Скажем, я до этого сзданием игрушек фриварных баловался, там у меня были классы "Враг" (с иерархией наследования) в методах Run его потомков производилась анимация движения, принимались решения о том куда палить; "Главный класс" в его методе Run и был весь игровой цикл и вызывались методы объектов "Враг". ] То есть, у меня точно также будут объекты, с методами. Скажем, у класса "Договор" будет метод "Начать согласование", который пропишет в массив согласующих (массив объектов класса "Сотрудник", атрибут класса "Договор") всех кто его должен согласовать, разошлет им всем по почте сообщения и скажем создаст в интранете новость о том что договор с таким-то № перешел на стадию согласования, УРА ТОВАРИЩИ. Причем отправка сообщения и создание новости - это по сути вызов Wcf-ного сервиса, а может быть и вызов метода у класса, который работает с соответствующей БД, но пока не суть. А вот после вызова этого метода какой-нить UnitOfWork проапдейтит соответствующую строку в БД и допишет в другие таблицы записи о согласующих, но все это будет прозарчно для меня, я не буду заморачиваться на БД даже. Так вот - прав ли я? 2. Где мне взять нормальный пример DDD, с нормальной богатой бизнес-логикой? Тот, что у МакКарти, с моей точки зрения - просто одна большая иерархия наследования с пробросом наследования даже без изменения чего-то. Пример: авторpublic interface IAggregateRoot : IEntity { } 3. Все эти новомодные инструменты типа Linq2Sql и EF мне помогут или просто с панталыку собъют? === вот собсна и все на данный момент, прошу долго ногами не пинать, дело в том что я ентерпрайз разрабатыать не учился, и сейчас параллельно кучу всего изучаю. Мог что-то просто тупо упустить по глупости. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 10:02 |
|
Вопросы по Domain Driven Design
|
|||
---|---|---|---|
#18+
н00б То есть, у меня точно также будут объекты, с методами. Скажем, у класса "Договор" будет метод "Начать согласование", который пропишет в массив согласующих (массив объектов класса "Сотрудник", атрибут класса "Договор") ДОГОВОР, это сущность, а сущности не имеют поведения, они пассивны. То что ты говоришь, должен делать класс типа МЕНЕДЖЕР_СОГЛАСОВАНИЯ который и должен осуществлять процедуру согласования договора с сотрудниками. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2010, 02:19 |
|
|
start [/forum/topic.php?fid=33&gotonew=1&tid=1548400]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 560ms |
0 / 0 |