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

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

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

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

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

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

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

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

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

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

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

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

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


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