Цитата:
Сообщение от
macklakov
На форме же реализовать дисплей, который выберет один из n методов мапы и делегирует ему свое поведение.
Эх... Еще одну попытку сделаю, поддержку Alex_KD
Написано "который веберет"
Кто выберет? Пользователь? Как он выберет? По названию метода? А пользователю что-нибудь говорит название метода?
Т.е. на самом деле варианта два:
1.
машиноориентированный: Заставлять пользователя выбирать из названий методов. Никаких хелпов, подсказок, описаний. Если пользователю что-то непонятно, то он должен лезть в код. Т.е. этот подход рассчитан на программиста, а не на пользователя.
2.
человекоориентированный: сделать обертку над методами, чтобы дать описания, инструкции, хелпы, подсказки и прочую мутотень. Скорее всего, описания должны быть не на программистком матерном, а на пользовательском языке - языке предметной области.
Если все равно делается обертка, то поставленная в исходном сообщении задача НЕ ИМЕЕТ практического смысла.
В обертке все равно будет switch/case по заранее предусмотренным пунктам.
Да, конечно, если программист захочет добавить функционал, то в первом случае он должен добавить всего лишь один метод, а во втором - расширить обертку. Но это только кажется. Поскольку в первом случае "настраивать" систему сможет только програмист. Поэтому в первом случае программист делает никому не нужную работу - вместо того, чтобы просто запрограммировать выбор в коде, он делает никому не нужный интерфейс, которым сможет воспользоваться только он сам (и то только в первое время - потом забудет как это работает и все равно полезет в код по новой).