Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Подарки от программис'тов

26.07.22 14:00
Re: Подарки от программис'тов
 
alex445 коренной житель
в ответ alex445 26.07.22 13:42, Последний раз изменено 26.07.22 14:09 (alex445)

Ещё такой подарок. В одном месте данное называется FileName. Потом оно передаётся в другое место, и там оно уже - FormName. Далее в третьем месте присваивается - уже SessionState (не спрашивайте про логику названия). Чтобы понять, что состояние сессии в поле таблицы в БД - это на самом деле имя файла формы в проекте - надо перелопатить кучу кода и отследить кучу присваиваний.


Или вот циклическое владение друг другом. Форма имеет ссылку на сессию, а сессия - на форму. Связь 1 к 1. Нахрена?!


И до кучи - специально выделенные строковые поля для имени формы в объекте сессии, и для состояния сессии в объекте формы. С учётом вышесказаного...


Или вот у нас в классе формы, которая хранит состояние сессии, ещё добавлен объект транзакции в БД. А объекту транзакции в БД передаётся состояние сессии, которое имеет ссылку на форму. Короче, эти три типа - транзакция, сессия, форма - связаны друг с другом и имеют ссылки друг на друга. А теперь нужно разделить эту байду и перенести на другой GUI. Конечно, всё не просто так - там ещё кучка базовых классов добавлена для каждого типа, интерфейсики на каждый тип - всё по фен-шую. Естественно, ссылки друг на друга тоже заложены ещё на этапе базовых классов и интерфейсов. Правда, процентов 90 этих интерфейсов имеют единственную реализацию. Ну и требование конструктора без параметров для динамического создания типов, и всё такое.


Как можно в одном месте сделать по фен-шую, а в другом - самые гразные и разнузданные антипаттерны применять?

 

Перейти на