| 
 | 
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Добрый день, В систему будут поступать объекты "Документ", нужно проводить валидацию документов, согласно списку проверок из БД. Проверки в БД могу быть включены (true) или отключены (false). Т.е. если сегодня включены проверки 1, 2, 3, и 5, то на завтра, пользователь может изменить количество и номера проверок на 1, 3, 4. Какой паттерн проектирования здесь можно применить? Что бы не писать конструкцию: Код: java 1. 2. 3. 4. 5. 6. 7. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 09:20 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Почему у многих такая маниакальная не любовь к if, case, for?)) В каком виде проверка лежит в бд? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 09:34 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp Aleks_Aleks, Почему у многих такая маниакальная не любовь к if, case, for?)) Мы не индусы, что бы нам платили за количество строк кода)) PetroNotC Sharp Aleks_Aleks, В каком виде проверка лежит в бд? Скорее всего, буду из БД получать список "SELECT check FROM checks WHERE status = true;" конвертить его в List<Check> а дальше как-то проверять, что если в списке есть проверка 1 то выполнить проверку "№ документа", если есть проверка 2 то проверить "Дату документа" и т.д. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 09:47 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Я думаю использовать паттерн Command, код уже реализован на паттерне Chain of Responsibility просто классы, положить в БД, получить список классов, на всех классах вызвать метод execute годный контент? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:01 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Будет меньше кода если все условия выстроим в цепочку? strim2 = streamMy.filter(check==true) 2. Я спросил какой вид в бд имеет проверка "Дата документа"? Что лежит в текстовом поле? Sql.? Dll? Скрипт? Jar? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:04 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks Я думаю использовать паттерн Command, код уже реализован на паттерне Chain of Responsibility просто классы, положить в БД, получить список классов, на всех классах вызвать метод execute годный контент? То есть есть много исполнителей а не проверок. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:06 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Почему нет паттерн ORM? Если бы он был, то ни одного слова о бд не было бы в топике. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:08 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp Aleks_Aleks, 2. Я спросил какой вид в бд имеет проверка "Дата документа"? Что лежит в текстовом поле? Sql.? Dll? Скрипт? Jar? Пока точно не известно, данная таблица еще не реализована, скорее всего там будет храниться код проверки "CHECK_01_02_02" но можно положить и имя класса или еще что нить... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:08 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Ну и на всякий теория. Валидация проходе в слое бизнес логике БЛ. Она пишется заранее и юзверь не ставит галочки что проверять. В общем случае... Абстрактно говоря. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:10 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks PetroNotC Sharp Aleks_Aleks, 2. Я спросил какой вид в бд имеет проверка "Дата документа"? Что лежит в текстовом поле? Sql.? Dll? Скрипт? Jar? Пока точно не известно, данная таблица еще не реализована, скорее всего там будет храниться код проверки "CHECK_01_02_02" но можно положить и имя класса или еще что нить... В БД будет храниться только код и название проверки и еще статус вкл/выкл, сама реализация проверки будет в Java Class ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:11 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, А условия OR AND, скобки, меньше больше где? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:14 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  т.е. общий смысл такой, есть Код: java 1. 2. 3. 4. 5. 6. есть проверки Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:17 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, If doc.подписан == гендир ИЛИ врио выделитКредит() Как тут галочками? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:18 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks т.е. общий смысл такой, есть Код: java 1. 2. 3. 4. 5. 6. есть проверки Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:21 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Извини, пока что ООП головного мозга. Тебе на галеры надо. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:23 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Если этих чекеров ощутимо больше 5, я бы добавил в таблице уникальное поле "имя чекера", а в коде по полю создавал соответствующую имени реализацию. Т.е. грузим только те, что активны, создаем реализации и возвращаем прикладному коду. Самый интересный вопрос - как именно и где создавать и описывать реализации, тут возможны варианты. Самое примитивное - мапа имя-класс, более продвинутое - как-то через DI, если используется. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:28 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpasha, Имя Класса. Потом фабрикой создавать полиморфные объект. И он инспектирует или валидирует. Тут много паттернов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:33 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Лучше сразу DSL )))) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:34 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, Предметно-ориентированный язык (англ. domain-specific language, DSL — «язык, специфический для предметной области») — компьютерный язык, специализированный для конкретной области применения (в противоположность языку общего назначения, применимому к широкому спектру областей и не учитывающему особенности конкретных сфер знаний). Построение такого языка и/или его структура данных отражают специфи ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:36 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp Имя Класса имя класса менее гибко, а так это "имя бина", за которым реализация может меняться ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:37 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Aleks_Aleks, If name == "CheckDate" obj = new CheckDate() else ... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:38 | 
  
  
  
   | 
||
| 
 
Какой паттерн? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpasha, Бин это класс в общем случае. Я о паттерне полиморфизм в ООП. Его препод раньше спросит. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.03.2021, 10:42 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=40050958&tid=2120500]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    62ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    63ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 235ms | 
| total: | 409ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...