Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2011 22:03:50

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Статьи

Да ну? Третья строчка.
Этот код работает (хоть и вышло далеко не с первой попытки).



Офлайн

#2 Фев. 9, 2011 22:11:08

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Статьи

И правда, проморгал.
Красивый у вас код, к слову :)



Офлайн

#3 Фев. 9, 2011 22:30:31

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Статьи

Zubchick
Красивый у вас код, к слову :)
Годы тренировок :)
И много-много мегабайтов чужого красивого и разного кода прочитал, да…



Офлайн

#4 Фев. 9, 2011 23:16:14

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Статьи

regall
Андрей Светлов
Нечто вроде современного подхода к таблицам с редактированием ячеек.
Я для себя представляю Editor, как редактор текста. То есть он нужен, чтобы текст не сохранялся после каждого введенного символа, а хранился до нажатия кнопки сохранения. В принципе, те же яйца только в профиль.
Откровенно говоря, не знаю что подразумевали первые авторы MVC.

Исхожу из того, что имеем сейчас.

На форме есть wx.TextCtrl - пароль пользователя.
Можно подписаться на события:
- ввод символа
- нажатие <Return>
- жмаканье на <Tab>
- потерю фокуса

Редактора как такового нет.

В зависимости от того, что желает заказчик/аналитик/пользователь, - нужно обновлять модель на каждый чих (показывая, например, достаточно ли хорош пароль чтобы его не сломали за десять секунд), - или игнорировать все эти действия до момента клацанья по заветной кнопке “Запомнить пароль”.

Так или иначе презентация работает с нашим TextCtrl, который знать не хочет о модели и контроллере.

Если так удобно программисту - он сделает сложный синхронизатор.
Я не раз упоминал этот термин в статье при том, что в первоисточниках такого нет.
Этот синхронизатор будет обрабатывать ввод GUI до тех пор, пока не решит что нужно переслать пароль в модель.
Если логика сложная - тогда это Editor.
Только вот какая беда - сложная логика должна прописываться в модели, а не в Controller/Presenter.
Получается, модель у нас двухуровневая:
- вяло ожидает новых изменений в поле “пароль” (рисуя красным цветом “нестойкие”). Проверка на “пушистость пароля” - это ведь задача бизнес-логики, которая целиком находится в модели.
- и бодро изменяет базу данных после нажатия на “изменить пароль”.

Возникают неприятные вопросы вложенности и транзактности моделей, на которые MVC (равно как и MVP) ответа дать не могут - не их компетенция.



Офлайн

#5 Фев. 9, 2011 23:40:34

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Статьи

Андрей Светлов
Возникают неприятные вопросы вложенности и транзактности моделей, на которые MVC (равно как и MVP) ответа дать не могут - не их компетенция.
И не должны давать. Это уже попахивает особенностями реализации. Модель разработки задает каркас, а если пытяться углубляться и создавать рекомендации на все возможные комбинации и вариации бизнес-логики приложения, - можна очень далеко зайти и оттуда не выйти…

Андрей Светлов
Откровенно говоря, не знаю что подразумевали первые авторы MVC.
Я так понимаю редактор задумывался как некоторый буфер, снижающий количество запросов на изменение модели с целью оптимизации приложения, так как врядли в конце 70-х программисты задумывались об интерактивной проверке пароля на сложность по мере ввода символов, как ты выше описал, и так как, судя по всему, эти люди дальше модель не развивали, она уткнулась в реалии современности, и оказалась не готова к ним. Поэтому в контекстве задач, которые возникают перед программистами сейчас, модель 30-с-чем-то летней давности, конечно же, не имеет ответов на множество вопросов.



Офлайн

#6 Фев. 9, 2011 23:56:10

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Статьи

regall
Андрей Светлов
Возникают неприятные вопросы вложенности и транзактности моделей, на которые MVC (равно как и MVP) ответа дать не могут - не их компетенция.
И не должны давать. Это уже попахивает особенностями реализации. Модель разработки задает каркас, а если пытаться углубляться и создавать рекомендации на все возможные комбинации и вариации бизнес-логики приложения, - можно очень далеко зайти и оттуда не выйти…
Это - не вариации. MVP - тупой. Берет ввод пользователя, проталкивает его в модель и меняет вид в ответ.

А вот сложносочиненные модели по настоящему интересны!



Офлайн

#7 Фев. 10, 2011 00:36:44

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Статьи

Андрей Светлов
Это - не вариации. MVP - тупой. Берет ввод пользователя, проталкивает его в модель и меняет вид в ответ.
А вот сложносочиненные модели по настоящему интересны!
Верно. Я это и пытался сказать, может не совсем верно выразился, точнее совсем неверно. Как-то сложно с подбором слов, час ночи и веселый день с доблестным омоном в офисе =)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version