Как стать автором
Обновить
10
0
Muhamad Zununov @VanquisherWinbringer

CIO

Отправить сообщение
Эм, суть аджайла/скрама что все равны поэтому в них по определению не может быть ТимЛида\Архитектора\ТехЛида и прочего НО есть одно большое НО. Мало кто использует настоящий Agile и мало кто для него в принципе подходит (те же банки например потому что в них структура вертикальная, а аджайл он горизонтальный).
Зарплата Лида .NET в Мск от 250к до 400к на руки потому что там статистика вообще по всем идиет. Включая аналитиков, тестировшиков джунов и т.д. Зря вы на эту статистику смотрите. Сеньора да, от 200к.
Хм, я таки с трудом вспомнил кто вы. Я вообще что вчера было-то не помню. Да и книги которые читал — я только в общем те выводи которые из них для себя сделал помню и все. Про вас не помню о чем мы говорили и что говорили зато помню что вы и начальник ваш — клевые чуваки. Приятные.
Так я об этом и говорю.
Таки да: Книга Эванса это фундаментальный труд а Вернон так — примеры Java кода больше и то как он это все понимает. Его вариант DDD.
Рекомендую еще почитать книгу Роберта Мартина (Человек который описал SOLID) Clean Architecture.
Ну да. Хорощий Репозиторий должен себя вести просто как какая-то коллекция. Только в реальной жизни обычно Repository это просто Порт к данным которые хранятся в БД. Такие Repository как вы говорите на практике получаются только если прям реально в памяти в массиве данные хранить а не ходить за ними в БД.
Репозиторий это порт к БД.
Все от контекста зависит. Конкретно тут дом Агрегат которому принадлежать полки на которых есть мука. Для простоты так описал. Если по нормальному то есть Агрегат Жилец. Есть Агрегат Дом и их связывает Сущность вроде домовая книга где есть ссылка на дом и на человека который в этом доме живет Для простого примера вполне сгодится и нет смысла так усложнять. Для данного контекста вполне норм что есть Мама->Дом->Полки->Предметы.
Почитайте на странице 19 и дальше ce.sharif.edu/courses/97-98/2/ce418-1/resources/root/Books/Patterns%20of%20Enterprise%20Application%20Architecture%20-%20Martin%20Fowler.pdf
Application Specific Logic (UseCase, ApplicationServices) это вам не Presentation и не Data Aces Layer.
Да знаю. Просто пришло в голову как по простому эту безумную идею реализовать.
Маме (в качестве повара) все равно, откуда взялась мука getIngridients()


Хех, на самом деле все намного веселее будет У Мама, есть навигационное свойство Квартира — это та квартира в которой Мама живет и по сути Агрегат. Точнее у Квартира есть коллекция жильцы один из которых Мама. НУ не суть. У Квартира есть коллекция Полки у полки там коллекция Предметы. Мама сначала находит First полку на которой есть предметы и из этих предметов достает First предмет который является мукой. Ну и дальше со всем остальными ингридиентами.
DDD вообще не про геттеры и сеттеры )))) DDD оно про единый язык с бизнесом валидный в пределах ограниченного контекста. Всмысле — Яблоко из одного контектста и Яблоко из другого контекста это разные объекты с разным набором данных. Да и паттерны оттуда они тоже для того чтобы бизнесу понятно было и на его языке с ним говорить. Бизнесу например понятней если ему сказать что достаем яблоко из хранилища яблок (Repostiroy) чем — считываем используя порт адаптера данных информацию о яблоке.
Хех, вообще-то Роберт Мартин в своей Clean Architecture тоже использует Порты и Адаптеры по сути. UseCase используют OutPut Port blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
Ну и судя по его картинке — Use Case это именно Application Service.
Поправьте меня если я в чем-то не прав.
Хех, можно нехило так извращаться использую паттерн Memento. Сделать у сущности все поля и свойства приватные. Делаем метод CreateMemento() который возвращает просто DTO с приватными данными сущности.
С умом надо просто помещать.
public string Name
{
  get => _name;
 set
   {
     if(string.IsNullOrWhiteSpace(value))
          throw new ApplicationException("Укажите имя!");
       _name = value;
    }
}


А с SQL в геттер это банально нарушение S из SOLID обычно.

Вооб вон PsyHaSTe говорил что он фронтов нанимал дороже чем беков. Я бы все равно из-за этого не перешел бы во фронты.
Ох уже эти предрассудки. Во многих организациях платят одинаково что фронтам что беками независимо от языка программирования. Дело вообще не в том кому больше платят. Сколько платят больше от организации конкретной зависит. Дело вообще в другом.
Опять бред несете. Вы живое доказательство того что динамика а особенно PHP разжижает мозг.
Эка годнота какая. Плюс вам за старания. Хотя мне больше нравилось когда автотестеры такие тысты писали. E2E aka Функциональные. Мне как разработчику хочется Unit тесты написать и дальше уже отдавать автоматам. Ну это такое, не все всегда бывает как мы того хотим.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Chief Technology Officer (CTO), Chief information officer (CIO)
C#
Software development
Project management
Product management
Development management
Agile
Scrum
Kanban
Development of tech specifications
Scala