powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ById
25 сообщений из 62, страница 2 из 3
ById
    #38324406
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пусть репозиторий вместо POCO-объектов возвращает доменные

вопрос топикастера

а что он должен возвращать наружу..

уточнение

Возвращаемое значение -класс?

...

в общем или лыжи не едут, или при чем тут логическая модель, домен, дал, недал... вообще ничего не понимаю.
...
Рейтинг: 0 / 0
ById
    #38324420
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ну да, я ж цитату привел...
...
Рейтинг: 0 / 0
ById
    #38324555
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, доменный объект - это вполне конкретная сущность, вполне конкретной предметной области (Domain Model). Или иначе бизнес объект из бизнес процесса.
Company, Person, Order, Customer, или как у ТС Something.
Классы этих объектов вполне себе могут реализовывать некие интерфейсы, т.к. инкапсулируют в себе некоторую логику, обладают поведением.

Так что я не понимаю твоих рассуждений по этому поводу.
...
Рейтинг: 0 / 0
ById
    #38324603
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

опыт показывает, что реализация логики классами модели — практика плохая. т.е. ладно там еще вычисляемые свойства (допустим, Sum { get { return Amount * Price } }, но не логика. интерфейсы хороши в случае реализации универсального репо. допустим

interface IUpdateable {
DateTimeOffset Updated {get;set;}
}

...
...
Рейтинг: 0 / 0
ById
    #38324613
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttопыт показывает, что реализация логики классами модели — практика плохаяДа ладно?
ВикипедиЯв объектно-ориентированном программировании используется активная модель MVC, где модель — это не только совокупность кода доступа к данным и СУБД, а вся бизнес-логика
...
Рейтинг: 0 / 0
ById
    #38324618
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

плохо. логика размазана по классам. типа User.DoEtRegisterYourselfBastarf() ?
...
Рейтинг: 0 / 0
ById
    #38324626
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение.
...
Рейтинг: 0 / 0
ById
    #38324633
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttплохо. логика размазана по классам. типа User.DoEtRegisterYourselfBastarf() ? С чего вдруг она размазана? Кем? :)
...
Рейтинг: 0 / 0
ById
    #38324644
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение.И таки что ты хотел этим сказать? Доменные объекты не зависят от того, где используются: в ASP.NET MVC, ASP.NET WebService, WPF, WCF или WinForms приложении.
...
Рейтинг: 0 / 0
ById
    #38324648
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

даже по букве ООП, это не правильно. Customer.CreateOrder(...) — типа клиент создает заказ? карточка клиента (десяток полей) создает заказ (еще одну запись с другим десятком полей) часть логики реализуют сами объекты, часть какие-то сервисные классы — в общем не пойми что. не дай бог мне такое придётся когда-нибудь сопровождать... 3×тьфу
...
Рейтинг: 0 / 0
ById
    #38324653
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне вот тоже так кажется. Чистого ООП при работе с РБД пока не получится. Типизация, изоляция, неследование и прочие плюшки, это да.
...
Рейтинг: 0 / 0
ById
    #38324656
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVosttskyANA,

объектно-ориентированное программирование... можно еще в старых книжках об этом почитать, где что-то хранит состояние, да еще и поведением обладает... красивая сказка. от того, в ASP.NET MVC пицот контекстов (HttpContext, ViewContext, ControllerContext, ActionContext.......), отдельно от классов, реализующих само поведение.И таки что ты хотел этим сказать? Доменные объекты не зависят от того, где используются: в ASP.NET MVC, ASP.NET WebService, WPF, WCF или WinForms приложении.

есть кем-то великим сказанная фраза, которую над вышить золотом «предпочти композицию наследованию»...
...
Рейтинг: 0 / 0
ById
    #38324664
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понимаю, что пятница ещё далеко, но удержаться не мог
...
Рейтинг: 0 / 0
ById
    #38324668
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttдаже по букве ООП, это не правильно. Customer.CreateOrder(...) — типа клиент создает заказ? карточка клиента (десяток полей) создает заказ (еще одну запись с другим десятком полей) часть логики реализуют сами объекты, часть какие-то сервисные классы — в общем не пойми что. не дай бог мне такое придётся когда-нибудь сопровождать... 3×тьфуТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением?
...
Рейтинг: 0 / 0
ById
    #38324673
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением?

предложите адекватное для карточки кастомера поведение. сохраниться в базу — это ж не тру-поведение для кастомера, не?
...
Рейтинг: 0 / 0
ById
    #38324678
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

роль DTO и Business Object может (и зачастую это делает) выполнять один и тот же класс. может быть вот такой случай. база данных разработана не нами, на наш взгляд спроектирована отвратительно, но с ней надо как-то работать, наши классные Business Objects не укладываются в реляционную модель. другое дело :) 3×тьфу...
...
Рейтинг: 0 / 0
ById
    #38324680
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAТо есть DTO хорошо, а business objects - плохо, потому что ты зачем-то кастомера наделил левым поведением?

предложите адекватное для карточки кастомера поведение. сохраниться в базу — это ж не тру-поведение для кастомера, не?Кстати ActiveRecord - это вполне себе популярный шаблон.
...
Рейтинг: 0 / 0
ById
    #38324687
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКстати ActiveRecord - это вполне себе популярный шаблон.

да, не богат кастомер на великие дела ) так все-таки?
...
Рейтинг: 0 / 0
ById
    #38324692
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, короче я понял к чему ты клонишь.
Да, бизнес объекты зачастую не богаты поведением (Anemic Domain Model), но это же не значит, что его вообще нет.
...
Рейтинг: 0 / 0
ById
    #38324697
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру заказ (Order) включает в себя набор услуг и такие методы как AddService, RemoveService, ReplaceService, FindService, подсчёт общей стоимости, общей скидки и т.п., вполне себе может реализовывать.
...
Рейтинг: 0 / 0
ById
    #38324716
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

.. а Service в свою очередь AddToOrder, RemoveFromOrder... не-не-не. ни в коям случае.
хотя такие вещи итак работают изкаропки:

order.Services.Add(service)
order.Services.Remove(service)
order.Services.First(x => ...)
order.Services.Sum(x => ...)
order.Services.Average(x => ...)

а что-то более внушительное есть на примере, настоящее такое Поведение ?
...
Рейтинг: 0 / 0
ById
    #38324725
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt.. а Service в свою очередь AddToOrder, RemoveFromOrder...Зачем?
...
Рейтинг: 0 / 0
ById
    #38324740
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttхотя такие вещи итак работают изкаропки:

order.Services.Add(service)
order.Services.Remove(service)
order.Services.First(x => ...)
order.Services.Sum(x => ...)
order.Services.Average(x => ...)А ещё небось и так работает:
Код: c#
1.
2.
order.Services = null;
order.Services = new ReadOnlyCollection(services);
...
Рейтинг: 0 / 0
ById
    #38324835
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

и даже так:

order.Services = (ICollection<Service>)(new Exception("послание врагам от гордого варяга, стих 4 ]:->"));

:)
...
Рейтинг: 0 / 0
ById
    #38325220
skyANAК примеру заказ (Order) включает в себя набор услуг и такие методы как AddService, RemoveService, ReplaceService, FindService, подсчёт общей стоимости, общей скидки и т.п., вполне себе может реализовывать.А не дофига ли умеет Order?
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ById
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]