![]() |
#11 |
Участник
|
Цитата:
Цитата:
собственно, как и раньше, имеем:
= эта штука работает на refleaction (со всеми вытекающими последствиями) = вместо конструктора должен быть отдельный класс-запускач (дополнительно к адаптерам, хендлерам, хандлерам, хелперам добавляется еще и strategy) Stragegy не обязательно. У тебя нет параметров в конструкторе (не путать с методом construct). Если параметры есть, достаточно добавить метод init(параметры). Цитата:
= отдельный класс-запускач ломает систему перекрестных ссылок - теперь понять где что используется и как работает намного сложнее
Цитата:
Но:
= никакой параллельности или асинхронности в фреймворке не предполагается Цитата:
= за уникальностью ключа должен следить сам программист
![]() Цитата:
= ключ - строка, с позиционными значениями (почему не аксаптовский контейнер, не xml, не json, не другой сериализуемый объект? почему не использовать имя класса в качестве ключа?)
![]() Цитата:
= вся стратегия определения ключа должна находится в одном месте - попытка сделать делегирование принятия решения о ключе приводит к возвращению к иерерхии конструкторов, только в отдельном классе.
Цитата:
Другими словами, все равно есть длинный список параметров с заданными позициями. но у них нет дефолтных значений. Та-дам!
Цитата:
А весь конструктор должен быть в одном методе. Со всеми пересечениями кода. Та-дам!
Цитата:
самое интересное, что эта штука не решает проблему подключения кода от разных производителей.
особенно, если разные производители добавлят классы с разными строками-ключами в середину иерархии. или добавят одинаковые ключи для разных классов. Цитата:
вопрос - какой? как? какова методика добавления класса в иерархию с атрибутами?
Цитата:
подумайте еще.
для дальнейшего предметного обсуждения: 1. выберите пример с иерархическим семейством, а не плоским. 2. подумайте что будет, если в эту иерархию добавляет новые классы не один программист, а хотя бы два независимых программиста. 3. подумайте как предоставить эту расширенную функциональность пользователями. Цитата:
и главное: а чем получившаяся конструкция по сути отличается от старых добрых конструкторов? (не считая дополнительной трудоемкости и отвалившихся перекрестных ссылок, конечно)
|
|
Теги |
sysextension framework, sysoperation framework, как правильно, полезное |
|
|