|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANA, а что помешает навернуть новую логику на его "контрактный" класс? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 11:00 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
netivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 13:34 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения. давайте на примере. А то это все аюстрактоно. Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 14:50 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
netivanskyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения.Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например.Сейчас нет репозитория и бизнес-объектов. Последние по идее инкапсулируют в себе необходимую логику предметной области, а мы видим вместо инкапсуляции набор хелп-методов. netivanдавайте на примере. А то это все аюстрактоно.Хм. Как вы понимаете сл. фразу: "быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения"? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 16:21 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANAnetivanпропущено... Сейчас имеем: репозиторий, который возвращает бизнес-объекты. имеется возможность быстро это передать по WCF, например.Сейчас нет репозитория и бизнес-объектов. Последние по идее инкапсулируют в себе необходимую логику предметной области, а мы видим вместо инкапсуляции набор хелп-методов. netivanдавайте на примере. А то это все аюстрактоно.Хм. Как вы понимаете сл. фразу: "быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения"? наверное мы о разных вещах. Я там увидел репозиторий - набор методов, осуществляющие манипуляции с бизнес объектами. Чем вам не репозиторий? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 16:38 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
netivan, какой конкретно класс по Вашему реализует шаблон репозиторий? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 16:41 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 18:06 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Ну и если говорить о SOLID, то явное нарушение принципа Single responsibility: класс и репозиторий, и маппер, и сервис. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 18:08 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
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 вроде?) так сильно отличаются от объектов в БД?:) Судя по ссылки выше у ТС они не отличаются. А строго следовать определению какого-то паттерна имхо ненужно. Вот. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 18:16 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANAАлексей КЭта "красота" вызовет в дальнейшем необходимость описания специального DTO, что нарушает моё представление о DRY, но об этом ниже. Одним словом - оно того не стоит.Алексей КБизнес-объекты слоя данных и логики применяются в том числе в качестве DTO, чтобы не описывать одинаковые структуры данных в нескольких местах.Всё это замечательно работает пока один формат хранения данных, один формат их передачи, один способ получения.Например, добавим второй WCF ServiceHost для второго протокола. Прикладной код от этого не изменится. skyANAНо что будет, если при развитии проекта, что-то добавится, или изменится? Насколько Ваше решение гибкое и масштабируемое? Нужен пример. В противном случае ответ будет: "Решение очень гибкое и очень масштабируемое". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 19:31 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
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.Ну и пусть класс там чему-то не соответствует. Хуже он от этого не становится. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 19:33 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANAНу и если говорить о SOLID, то явное нарушение принципа Single responsibility: класс и репозиторий, и маппер, и сервис.SvcPersonal - класс, содержащий логику. PersonalView - класс, содержащий данные. Никакого нарушения SRP тут нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 19:35 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANAnetivan, помешает то, что нельзя быстро и незаметно добавить или изменить формат хранения данных, формат их передачи, способ получения.Повторюсь, WCF это позволяет. Это что касается передачи. Что касается хранения и обработки - проект жёстко завязан на EF, отказываться от него смысла не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 19:43 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Алексей К"Решение очень гибкое и очень масштабируемое". :-) Алексей Кпроект жёстко завязан на EF ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 12:20 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Интересно, сколько лет будет жить сей проект. Сколько вообще лет существуют ваши продукты. Хотя нет, не интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 12:24 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANA, Ну это же корпоративное решение, усугубленное ж.д. тематикой, выставленное наружу, т.е. вполне может жить ( если компилится).. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 13:31 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Где-то в степи, я это прекрасно понимаю и нигде не писал, что решение не имеет права жить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 13:56 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANA, Хорош качели раскачивать -"вполне может жить " глобальная переменная, к вашему стеку отношения не имеет. зы Это лозунг... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 14:02 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Где-то в степи, что понимается под "вашим стеком"? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2013, 14:08 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
netivanskyANAnetivan, обратимся к определению: Repository . пропущено... пропущено... С натяжкой можно сказать, что первый пункт выполняется, если предположить, что DTO объекты типа PersonalView и есть доменные объекты. Но вот второй пункт не выполняется. Смотрите методы GetPersonalEditNew, GetPersonalEditByID и SavePersonal. да, нарушения есть в этих методах. Но разве это так страшно? Да и откровенно говоря всегда ли там безнес-объекты ( тут это же DTO вроде?) так сильно отличаются от объектов в БД?:) Судя по ссылки выше у ТС они не отличаются. А строго следовать определению какого-то паттерна имхо ненужно. Вот. Когда у тебя будет хотя бы за сотню объектов, то без обобщенного репозитория, без возможности пересобрать на автомате все классы и создать необходимые сервисы, тебе очень быстро станет не страшно, а тошно. Это игрушки в ООП там, где его не должно быть и ручное вышивание крестиком на ровном месте. Фреймворк с одной только жесткой связанностью без гибкости в членах, который не упрощает и не ускоряет разработку. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2013, 10:21 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
skyANASeVaВряд ли у вас получиться что-либо доказать силой мысли. Нужны конкретные примеры. Упражнения в красноречии и разговоры о сферических конях не интересны. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2013, 17:33 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
SeVa, ты много читаешь и изучаешь- какие шансы у Microsoft StreamInsight в роли AppServerа? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2013, 19:04 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Алексей КskyANASeVaВряд ли у вас получиться что-либо доказать силой мысли. Нужны конкретные примеры. Упражнения в красноречии и разговоры о сферических конях не интересны. Алексей, я в эти игры играю давно, уже сделан не один проект и знаю о чем говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2013, 20:08 |
|
О применении SOLID
|
|||
---|---|---|---|
#18+
Сахават ЮсифовSeVa, ты много читаешь и изучаешь- какие шансы у Microsoft StreamInsight в роли AppServerа? StreamInsight решает достаточно ограниченный круг задач - потоки данных и их обработка. В качестве app server'a больше подходит owin/katana/web api. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2013, 20:14 |
|
|
start [/forum/topic.php?fid=20&msg=38514963&tid=1403421]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 323ms |
total: | 489ms |
0 / 0 |