Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / AOP, EL: где лучше хранить правила валидации? / 22 сообщений из 22, страница 1 из 1
24.11.2011, 11:51
    #37542030
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Вот мучают сомнения, использую блок валидации из EnterpriseLibrary.
Может чот посоветуете или поделитесь опытом, где лучше хранить правила валидации?
(я пока остановился на 2 варианте, но больше склоняюсь к первому)

1. Хранить вместе с сущностями (навесить аттрибуты прямо в классах).
+ правила валидации и сущности описаны в одном месте, можно рефлекшеном достать
- сборка POCO сущностей Domain зависит от EnterpriseLibrary
- для изменения правила валидации нужно перекомпилить сборку
2. описать правила валидации в файле конфигурации web.config
+ сборка POCO сущностей Domain не зависит от других сборок.
+ для изменения валидаторов не нужно перекомпилить сборку
- конфиг разрастается до огромных размеров
- описание сущностей и из валидация в разных частях системы
...
Рейтинг: 0 / 0
24.11.2011, 15:08
    #37542543
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
alneo,
- вы ошиблись веткой форума
- валидация неразрывно связана с бизнес-логикой. Её нельзя перемещать туда-сюда-xml-exe-...
...
Рейтинг: 0 / 0
24.11.2011, 15:32
    #37542604
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
почему не в тот раздел? куда нужно было постить?

хочется реализовать сквозной функционал используя АОП. (не хочу писать кучу кода в разных слоях приложения)
решил заюзать в новом проекте enterprise library (еще рассмративал варианты CSLA или Spring.NET).
вот хотелось бы услышать мненеие опытных архитекторов, best practicy так сказать. не хочется наступать на
грабли. лишний раз
...
Рейтинг: 0 / 0
24.11.2011, 15:37
    #37542621
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
alneoпочему не в тот раздел? куда нужно было постить?

специфическая библиотека _конкретного_ языка программирования
...
Рейтинг: 0 / 0
24.11.2011, 16:01
    #37542672
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
alneo,

в БД храни
...
Рейтинг: 0 / 0
24.11.2011, 16:41
    #37542770
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
возможно я не совсем корректно задал вопрос. ответить на него могут как .net разработчики, так и java и с++ и др..
(тот же CSLA есть для разных платформ).
здесь речь идет о АОП (аспектно-ориентированном программировании, не важно какой фремворк используется.)
меня интересует вопрос о том, где лучше хранить правила (валидации, авторизации и т.д.) - непосредственно в классах бизнес-сущностей или во внешних хранилищах(файлы конфигурации, субд и т.д.)
я перечислил несколько плюсов и минусов, может кто еще что добавит по существу основываясь на своём опыте?
...
Рейтинг: 0 / 0
24.11.2011, 16:59
    #37542807
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
alneo,
1. шансы равны 50 на 50, т.к. есть сторонники обоих подходов.
Некоторые не любят простыни XML и его избыточный синтаксис.
2. вариант нужен такой, чтобы была "обозреваемость" кода.
3. т.к. валидация зависит от БЛ, то выделить для неё отдельный блок-библиотеку я не считаю правильным.
Пусть САМ контрол валидирует себя (по ООП)
4. на Java GWT валидирует совсем по другому методу сразу ОБА слоя - клиент и сервер
Т.е. всё ЭТО временно и "мелко"
5. Если клиент пишет отдельный программист, то он валидирует сам и своими средствами.
т.е. нет общего подхода и вопроса.
IMHO
...
Рейтинг: 0 / 0
24.11.2011, 17:02
    #37542812
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
- в 2-х звенке, на сервере Основные правила. На клиенте Дополнительные-необязательные
- в 3-х звенке, 1-ый эшелон на сервере, 2- аппсервере, 3- на клиенте
...
Рейтинг: 0 / 0
24.11.2011, 18:37
    #37543029
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Petro123,

он спрашивает - ГДЕ хранить ПРавила валидации. А не ГДЕ валидировать. :)
...
Рейтинг: 0 / 0
24.11.2011, 18:56
    #37543065
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
для небольшого веб-приложения я хранил их в файле конфигурации, для большого (около двух сотен сущностей) - в классах сущностей.
вот теперь не знаю на какие грабли наступить снова.. :-(
...
Рейтинг: 0 / 0
24.11.2011, 18:57
    #37543067
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
alneo,

ну в БД лучше
...
Рейтинг: 0 / 0
24.11.2011, 22:02
    #37543272
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
ViPRosPetro123,
он спрашивает - ГДЕ хранить ПРавила валидации. А не ГДЕ валидировать. :)
читай внимательно. Там есть ВСе ответы.
...
Рейтинг: 0 / 0
25.11.2011, 08:35
    #37543558
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Аттрибуты неудобны и не решают всех проблем. На мой взгляд, более предпочтителен вариант, когда правила валидации инжектятся с помощью MEF. В этом случае они могут лежать в отдельных сборках
...
Рейтинг: 0 / 0
25.11.2011, 10:03
    #37543653
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
SeVaАттрибуты неудобны и не решают всех проблем. На мой взгляд, более предпочтителен вариант, когда правила валидации инжектятся с помощью MEF. В этом случае они могут лежать в отдельных сборках
ну вот, яркий пример, лагеря "инжектирования" вместо написания кода.
Т.е., не побоюсь этого слова - "конфигурастов".
Где связи классов конструируются и конфигурируются вне сборки.
Так что, в сильвере MEF, в Java Spring, но есть разность в подходах
- инжект\атрибут\аннотация\XML\DI dependency injection
...
Рейтинг: 0 / 0
25.11.2011, 12:22
    #37544003
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Petro123SeVaАттрибуты неудобны и не решают всех проблем. На мой взгляд, более предпочтителен вариант, когда правила валидации инжектятся с помощью MEF. В этом случае они могут лежать в отдельных сборках
ну вот, яркий пример, лагеря "инжектирования" вместо написания кода.
Т.е., не побоюсь этого слова - "конфигурастов".
Где связи классов конструируются и конфигурируются вне сборки.
Так что, в сильвере MEF, в Java Spring, но есть разность в подходах
- инжект\атрибут\аннотация\XML\DI dependency injection
А к чему этот пук?
Инжектирование отнюдь не отрицает написание кода.
PetroПусть САМ контрол валидирует себя (по ООП)

По ООП в соответствии с принципом единичной ответственности, контрол не должен заниматься валидацией.
Помимо этого, данные могут иметь разные представления и модель может использоваться в разных приложениях.
...
Рейтинг: 0 / 0
25.11.2011, 12:39
    #37544060
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
SeVa,
инжектирование убирает написание кода по инстанцированию.
Т.е. объект приходит не через параметры в конструкторе (один из многолетних прогер-вариантов), а через волшебный значёк аннотацию-атрибут.
Т.е. над ЯП есть мета-ЯП.
2. ссылку на то что должен делать контрол.
...
Рейтинг: 0 / 0
25.11.2011, 14:15
    #37544276
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Petro123SeVa,
инжектирование убирает написание кода по инстанцированию.
Т.е. объект приходит не через параметры в конструкторе (один из многолетних прогер-вариантов), а через волшебный значёк аннотацию-атрибут.
Т.е. над ЯП есть мета-ЯП.
2. ссылку на то что должен делать контрол.

1. Многолетние old school на свалку. Чем замечателен DI, он позволяет избавится от инициализации через конструкторы, параметры которых зачастую бывают избыточны. Например, logger, который нужен только при записи ошибок в лог потребуется только в исключительных вариантах. Создавать его каждый раз - маразм и лишний расход ресурсов.

2. Буквари пересказывать лениво и времени нет.
...
Рейтинг: 0 / 0
25.11.2011, 14:55
    #37544387
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
SeVaНапример, logger,

программировать разучился?
Волшебное слова - сингдетон и ДайМнеКонтекст\Окружение.
Скоро забудут такие слова и все станут конфигурастами.
Удачи!
...
Рейтинг: 0 / 0
25.11.2011, 17:16
    #37544777
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Petro123SeVaНапример, logger,

программировать разучился?
Волшебное слова - сингдетон и ДайМнеКонтекст\Окружение.
Скоро забудут такие слова и все станут конфигурастами.
Удачи!

Программаст, за твои "волшебные" слова тебя только в конфигурасты и возьмут. Только они ничего не слышали про тестирование.
А за синглетоны и самопальные фабрики давно волчьи билеты дают за профнепригодность.
...
Рейтинг: 0 / 0
25.11.2011, 17:36
    #37544814
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
SeVa,
контекст и окружение, это JavaEE. Самый мейнстрим.
В твоём DI тоже есть 2 направления.
Продолжай спорить :)
...
Рейтинг: 0 / 0
25.11.2011, 19:21
    #37544996
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
Какой может быть мейнстрим в заброшенной под лавку javе? Вы даже не можете понять для чего нужны дженерики. Обсуждать DI с вами - пустая трата времени
...
Рейтинг: 0 / 0
25.11.2011, 20:40
    #37545076
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AOP, EL: где лучше хранить правила валидации?
SeVaВы даже не можете понять для чего нужны дженерики. Обсуждать DI с вами - пустая трата времени
Обожаю MS-вцев. Мантра "все самое лучшее у MS, все придумало MS" живет и рулит.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / AOP, EL: где лучше хранить правила валидации? / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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