Показать сообщение отдельно
Старый 03.06.2008, 15:55   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от macklakov Посмотреть сообщение
На форме же реализовать дисплей, который выберет один из n методов мапы и делегирует ему свое поведение.
Эх... Еще одну попытку сделаю, поддержку Alex_KD

Написано "который веберет"
Кто выберет? Пользователь? Как он выберет? По названию метода? А пользователю что-нибудь говорит название метода?

Т.е. на самом деле варианта два:
1. машиноориентированный: Заставлять пользователя выбирать из названий методов. Никаких хелпов, подсказок, описаний. Если пользователю что-то непонятно, то он должен лезть в код. Т.е. этот подход рассчитан на программиста, а не на пользователя.
2. человекоориентированный: сделать обертку над методами, чтобы дать описания, инструкции, хелпы, подсказки и прочую мутотень. Скорее всего, описания должны быть не на программистком матерном, а на пользовательском языке - языке предметной области.

Если все равно делается обертка, то поставленная в исходном сообщении задача НЕ ИМЕЕТ практического смысла.
В обертке все равно будет switch/case по заранее предусмотренным пунктам.

Да, конечно, если программист захочет добавить функционал, то в первом случае он должен добавить всего лишь один метод, а во втором - расширить обертку. Но это только кажется. Поскольку в первом случае "настраивать" систему сможет только програмист. Поэтому в первом случае программист делает никому не нужную работу - вместо того, чтобы просто запрограммировать выбор в коде, он делает никому не нужный интерфейс, которым сможет воспользоваться только он сам (и то только в первое время - потом забудет как это работает и все равно полезет в код по новой).
__________________
полезное на axForum, github, vk, coub.