powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / О применении SOLID
25 сообщений из 159, страница 3 из 7
О применении SOLID
    #38513983
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

а что помешает навернуть новую логику на его "контрактный" класс?
...
Рейтинг: 0 / 0
О применении SOLID
    #38514198
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514302
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения. давайте на примере. А то это все аюстрактоно. Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514438
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanskyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения.Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например.Сейчас нет репозитория и бизнес-объектов.
Последние по идее инкапсулируют в себе необходимую логику предметной области, а мы видим вместо инкапсуляции набор хелп-методов.
netivanдавайте на примере. А то это все аюстрактоно.Хм. Как вы понимаете сл. фразу: "быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения"?
...
Рейтинг: 0 / 0
О применении SOLID
    #38514461
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivanпропущено...
Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например.Сейчас нет репозитория и бизнес-объектов.
Последние по идее инкапсулируют в себе необходимую логику предметной области, а мы видим вместо инкапсуляции набор хелп-методов.
netivanдавайте на примере. А то это все аюстрактоно.Хм. Как вы понимаете сл. фразу: "быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения"?
наверное мы о разных вещах. Я там увидел репозиторий - набор методов, осуществляющие манипуляции с бизнес объектами. Чем вам не репозиторий?
...
Рейтинг: 0 / 0
О применении SOLID
    #38514469
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, какой конкретно класс по Вашему реализует шаблон репозиторий?
...
Рейтинг: 0 / 0
О применении SOLID
    #38514486
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

например вот класс
чем не репозиторий? Тем, что он не наследует IRepository<T>?
...
Рейтинг: 0 / 0
О применении SOLID
    #38514583
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, обратимся к определению: Repository .

П. 1A Repository mediates between the domain and data mapping layers, acting like an in-memory domain object collection.
П. 2Repository also supports the objective of achieving a clean separation and one-way dependency between the domain and data mapping layers.
С натяжкой можно сказать, что первый пункт выполняется, если предположить, что DTO объекты типа PersonalView и есть доменные объекты.
Но вот второй пункт не выполняется. Смотрите методы GetPersonalEditNew, GetPersonalEditByID и SavePersonal.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514585
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и если говорить о SOLID, то явное нарушение принципа Single responsibility: класс и репозиторий, и маппер, и сервис.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514598
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivan, обратимся к определению: Repository .

П. 1A Repository mediates between the domain and data mapping layers, acting like an in-memory domain object collection.
П. 2Repository also supports the objective of achieving a clean separation and one-way dependency between the domain and data mapping layers.
С натяжкой можно сказать, что первый пункт выполняется, если предположить, что DTO объекты типа PersonalView и есть доменные объекты.
Но вот второй пункт не выполняется. Смотрите методы GetPersonalEditNew, GetPersonalEditByID и SavePersonal.
да, нарушения есть в этих методах. Но разве это так страшно? Да и откровенно говоря всегда ли там безнес-объекты ( тут это же DTO вроде?) так сильно отличаются от объектов в БД?:) Судя по ссылки выше у ТС они не отличаются. А строго следовать определению какого-то паттерна имхо ненужно. Вот.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514654
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей КЭта "красота" вызовет в дальнейшем необходимость описания специального DTO, что нарушает моё представление о DRY, но об этом ниже. Одним словом - оно того не стоит.Алексей КБизнес-объекты слоя данных и логики применяются в том числе в качестве DTO, чтобы не описывать одинаковые структуры данных в нескольких местах.Всё это замечательно работает пока один формат хранения данных, один формат их передачи, один способ получения.Например, добавим второй WCF ServiceHost для второго протокола. Прикладной код от этого не изменится.

skyANAНо что будет, если при развитии проекта, что-то добавится, или изменится? Насколько Ваше решение гибкое и масштабируемое? Нужен пример. В противном случае ответ будет: "Решение очень гибкое и очень масштабируемое". :-)
...
Рейтинг: 0 / 0
О применении SOLID
    #38514655
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivan, обратимся к определению: Repository .

П. 1A Repository mediates between the domain and data mapping layers, acting like an in-memory domain object collection.
П. 2Repository also supports the objective of achieving a clean separation and one-way dependency between the domain and data mapping layers.
С натяжкой можно сказать, что первый пункт выполняется, если предположить, что DTO объекты типа PersonalView и есть доменные объекты.
Но вот второй пункт не выполняется. Смотрите методы GetPersonalEditNew, GetPersonalEditByID и SavePersonal.Ну и пусть класс там чему-то не соответствует. Хуже он от этого не становится.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514658
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу и если говорить о SOLID, то явное нарушение принципа Single responsibility: класс и репозиторий, и маппер, и сервис.SvcPersonal - класс, содержащий логику. PersonalView - класс, содержащий данные. Никакого нарушения SRP тут нет.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514666
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения.Повторюсь, WCF это позволяет. Это что касается передачи. Что касается хранения и обработки - проект жёстко завязан на EF, отказываться от него смысла не вижу.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514924
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К"Решение очень гибкое и очень масштабируемое". :-)
Алексей Кпроект жёстко завязан на EF
...
Рейтинг: 0 / 0
О применении SOLID
    #38514926
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, сколько лет будет жить сей проект. Сколько вообще лет существуют ваши продукты.
Хотя нет, не интересно.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514953
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, Ну это же корпоративное решение, усугубленное ж.д. тематикой, выставленное наружу, т.е. вполне может жить ( если компилится)..
...
Рейтинг: 0 / 0
О применении SOLID
    #38514963
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, я это прекрасно понимаю и нигде не писал, что решение не имеет права жить.
...
Рейтинг: 0 / 0
О применении SOLID
    #38514966
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Хорош качели раскачивать -"вполне может жить " глобальная переменная, к вашему стеку отношения не имеет.
зы Это лозунг...
...
Рейтинг: 0 / 0
О применении SOLID
    #38514972
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, что понимается под "вашим стеком"?
...
Рейтинг: 0 / 0
О применении SOLID
    #38515272
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanskyANAnetivan, обратимся к определению: Repository .

пропущено...

пропущено...

С натяжкой можно сказать, что первый пункт выполняется, если предположить, что DTO объекты типа PersonalView и есть доменные объекты.
Но вот второй пункт не выполняется. Смотрите методы GetPersonalEditNew, GetPersonalEditByID и SavePersonal.
да, нарушения есть в этих методах. Но разве это так страшно? Да и откровенно говоря всегда ли там безнес-объекты ( тут это же DTO вроде?) так сильно отличаются от объектов в БД?:) Судя по ссылки выше у ТС они не отличаются. А строго следовать определению какого-то паттерна имхо ненужно. Вот.

Когда у тебя будет хотя бы за сотню объектов, то без обобщенного репозитория, без возможности пересобрать на автомате все классы и создать необходимые сервисы, тебе очень быстро станет не страшно, а тошно.
Это игрушки в ООП там, где его не должно быть и ручное вышивание крестиком на ровном месте.
Фреймворк с одной только жесткой связанностью без гибкости в членах, который не упрощает и не ускоряет разработку.
...
Рейтинг: 0 / 0
О применении SOLID
    #38515402
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANASeVaВряд ли у вас получиться что-либо доказать силой мысли. Нужны конкретные примеры. Упражнения в красноречии и разговоры о сферических конях не интересны.
...
Рейтинг: 0 / 0
О применении SOLID
    #38515433
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

ты много читаешь и изучаешь- какие шансы у Microsoft StreamInsight в роли AppServerа?
...
Рейтинг: 0 / 0
О применении SOLID
    #38515456
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANASeVaВряд ли у вас получиться что-либо доказать силой мысли. Нужны конкретные примеры. Упражнения в красноречии и разговоры о сферических конях не интересны.

Алексей, я в эти игры играю давно, уже сделан не один проект и знаю о чем говорю.
...
Рейтинг: 0 / 0
О применении SOLID
    #38515460
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовSeVa,

ты много читаешь и изучаешь- какие шансы у Microsoft StreamInsight в роли AppServerа?

StreamInsight решает достаточно ограниченный круг задач - потоки данных и их обработка.
В качестве app server'a больше подходит owin/katana/web api.
...
Рейтинг: 0 / 0
25 сообщений из 159, страница 3 из 7
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / О применении SOLID
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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