Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ById
|
|||
|---|---|---|---|
|
#18+
А пусть репозиторий вместо POCO-объектов возвращает доменные вопрос топикастера а что он должен возвращать наружу.. уточнение Возвращаемое значение -класс? ... в общем или лыжи не едут, или при чем тут логическая модель, домен, дал, недал... вообще ничего не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 16:44 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
а ну да, я ж цитату привел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 16:48 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVostt, доменный объект - это вполне конкретная сущность, вполне конкретной предметной области (Domain Model). Или иначе бизнес объект из бизнес процесса. Company, Person, Order, Customer, или как у ТС Something. Классы этих объектов вполне себе могут реализовывать некие интерфейсы, т.к. инкапсулируют в себе некоторую логику, обладают поведением. Так что я не понимаю твоих рассуждений по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 17:43 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, опыт показывает, что реализация логики классами модели — практика плохая. т.е. ладно там еще вычисляемые свойства (допустим, Sum { get { return Amount * Price } }, но не логика. интерфейсы хороши в случае реализации универсального репо. допустим interface IUpdateable { DateTimeOffset Updated {get;set;} } ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:15 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttопыт показывает, что реализация логики классами модели — практика плохаяДа ладно? ВикипедиЯв объектно-ориентированном программировании используется активная модель MVC, где модель — это не только совокупность кода доступа к данным и СУБД, а вся бизнес-логика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:21 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, плохо. логика размазана по классам. типа User.DoEtRegisterYourselfBastarf() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:24 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:28 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttплохо. логика размазана по классам. типа User.DoEtRegisterYourselfBastarf() ? С чего вдруг она размазана? Кем? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:32 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttskyANA, объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение.И таки что ты хотел этим сказать? Доменные объекты не зависят от того, где используются: в ASP.NET MVC, ASP.NET WebService, WPF, WCF или WinForms приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:38 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, даже по букве ООП, это не правильно. Customer.CreateOrder(...) — типа клиент создает заказ? карточка клиента (десяток полей) создает заказ (еще одну запись с другим десятком полей) часть логики реализуют сами объекты, часть какие-то сервисные классы — в общем не пойми что. не дай бог мне такое придётся когда-нибудь сопровождать... 3×тьфу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:40 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
Мне вот тоже так кажется. Чистого ООП при работе с РБД пока не получится. Типизация, изоляция, неследование и прочие плюшки, это да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:42 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANAhVosttskyANA, объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение.И таки что ты хотел этим сказать? Доменные объекты не зависят от того, где используются: в ASP.NET MVC, ASP.NET WebService, WPF, WCF или WinForms приложении. есть кем-то великим сказанная фраза, которую над вышить золотом «предпочти композицию наследованию»... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:43 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
понимаю, что пятница ещё далеко, но удержаться не мог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:51 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttдаже по букве ООП, это не правильно. Customer.CreateOrder(...) — типа клиент создает заказ? карточка клиента (десяток полей) создает заказ (еще одну запись с другим десятком полей) часть логики реализуют сами объекты, часть какие-то сервисные классы — в общем не пойми что. не дай бог мне такое придётся когда-нибудь сопровождать... 3×тьфуТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:56 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANAТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением? предложите адекватное для карточки кастомера поведение. сохраниться в базу — это ж не тру-поведение для кастомера, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 18:58 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, роль DTO и Business Object может (и зачастую это делает) выполнять один и тот же класс. может быть вот такой случай. база данных разработана не нами, на наш взгляд спроектирована отвратительно, но с ней надо как-то работать, наши классные Business Objects не укладываются в реляционную модель. другое дело :) 3×тьфу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:03 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttskyANAТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением? предложите адекватное для карточки кастомера поведение. сохраниться в базу — это ж не тру-поведение для кастомера, не?Кстати ActiveRecord - это вполне себе популярный шаблон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:04 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANAКстати ActiveRecord - это вполне себе популярный шаблон. да, не богат кастомер на великие дела ) так все-таки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:06 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVostt, короче я понял к чему ты клонишь. Да, бизнес объекты зачастую не богаты поведением (Anemic Domain Model), но это же не значит, что его вообще нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:12 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
К примеру заказ (Order) включает в себя набор услуг и такие методы как AddService, RemoveService, ReplaceService, FindService, подсчёт общей стоимости, общей скидки и т.п., вполне себе может реализовывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:16 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, .. а Service в свою очередь AddToOrder, RemoveFromOrder... не-не-не. ни в коям случае. хотя такие вещи итак работают изкаропки: order.Services.Add(service) order.Services.Remove(service) order.Services.First(x => ...) order.Services.Sum(x => ...) order.Services.Average(x => ...) а что-то более внушительное есть на примере, настоящее такое Поведение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:35 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVostt.. а Service в свою очередь AddToOrder, RemoveFromOrder...Зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 19:48 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
hVosttхотя такие вещи итак работают изкаропки: order.Services.Add(service) order.Services.Remove(service) order.Services.First(x => ...) order.Services.Sum(x => ...) order.Services.Average(x => ...)А ещё небось и так работает: Код: c# 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 20:01 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANA, и даже так: order.Services = (ICollection<Service>)(new Exception("послание врагам от гордого варяга, стих 4 ]:->")); :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2013, 22:06 |
|
||
|
ById
|
|||
|---|---|---|---|
|
#18+
skyANAК примеру заказ (Order) включает в себя набор услуг и такие методы как AddService, RemoveService, ReplaceService, FindService, подсчёт общей стоимости, общей скидки и т.п., вполне себе может реализовывать.А не дофига ли умеет Order? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2013, 11:38 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38324725&tid=1358290]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 369ms |

| 0 / 0 |
