Задачки на подумать
Ребята, какие вы все здесь крутые! Можно, я буду всем говорить, что я - ваш знакомый?
Не понял, тебе что, малыш, крыша нужна? Абижают? Кто!?
Ребята, какие вы все здесь крутые!
А чем вы крутизну меряете? Нормальный вроде разговор, да и проблема не очень необычная.
Бросается в глаза, что проблемы в разговоре нет ВООБЩЕ, т.е.
"а как бы вот взять и сделать нечто эдакое, а?"
"да нет проблем, и не такое решали: вешаешь гуи по тисипи и всех делов"
...
Таких "нормальных разговоров" можно вести сотню одновременно. Так это вальяжно. Но когда проблема стоит реальная, а не витает над кружкой с пывом, то решение очень редко находится в таких разговорах. Над серьезными настоящими проблемами нужно думать. А для этого требуется время, попытки, анализ и пр. А здесь такое впечатление, что человек сделал глоточек из кружки, прочел пост, ответил быстренько, и только после этого сделал следующий голоток из кружки. Крутые парни ... А Ваш собеседник наверняка майкрософт крышует, или еще какоого-нибудь оракэла (кстати, я - его знакомый :
).
решение очень редко находится в таких разговорах
-----
Ты не прав.
Треп дает пищу для размышлений. Если не рассчитывать на то что дадут готовое решение, а прорабатывать варианты - треп аккурат годится.
Есть еще моментик. У меня 4 больших части - система импорта, планирование, производство и отчеты. По хорошему надо бы человека 3-4 на каждую часть. В наличии - один на все. Треп, в моем случае, позволяет работать еще и по своим интересам.
Но когда проблема стоит реальная, а не витает над кружкой с пывом, то решение очень редко находится в таких разговорах.
Вы видимо проецируете это на себя. Проблема довольно реальная и она решается, общение на форуме предполагает поиск альтернативных решений и новых ассоциаций.
Иногда даже просто описание проблемы помогает найти решение. У вас не было такого что решение проблемы находилось в курилке, за обсуждением казалось бы вообще посторонних вещей.
У меня есть большое подозрение, что наше общение было сильно абстрактным и это вам пришлось не по душе.
Вот первая часть вам может показаться тоже совершенно бессмысленной, а мне лично помогло больше понять проблему.
что проблемы в разговоре нет ВООБЩЕ
Если хотите, могу пересказать пост с проблемой, там я специально "блоковые" комменты добавил чтобы немного в глаза бросалось.
И проблема не в том как с помощью языка Х реализовать алгоритм У, а в нахождении удобной архитектуры приложения для конкретного случая.
А Ваш собеседник наверняка майкрософт крышует, или еще какоого-нибудь оракэла (кстати, я - его знакомый : ).
Ну все, расчистил поляну. С нетерпением жду рассказов по сабжу от гуру кодинга.
Извините, я больше не буду. Продолжайте, пожалуйста, мне ваша беседа подымала настроение. Дернуло меня встрять и все испортить...
Похоже одну проблему решил. Как стандартное приложение пилить под запросы клиентов.
В итоге оказалось довольно просто для приложений типа "баальшой диалог" (без МДИ). Пока пробую винформс, но WPF похоже должен работать то такому же принципу.
Главное требование к приложению - должно быть написано с использованием Model-View-Presenter. Если всё крутится в коде формы, то переписать. Главное иметь интерфейс для главного вьюва.
После делим элементы интерфейса на связанные группы (или пользует отдельно каждый контрол) и помещаем эти группы в юсер контролы.
Теперь просто заменяем старую имплементацию вьюва (class MainForm: Form, IMainView) на новую (class MainForm: IMainView) где прямое использование контролов меняется на контролы из новых груп.
Вызов и загрузка приложения также переписывается через интерфесы, но тут особых проблем нет. Обмен данными также через интерфейсы и команды. Главное - на "линии разреза" только интерфейсы.
Теперь хост приложение делает какую требуется форму и в местах расположения "стандартных" контролов располагаем обычные панельки в которые и вставляются юсерконтролы из "стандартного приложения".
Если кому это понадобится могу подробнее расказать.
Попалась ссылка на ИЛМЕРГЕ:
<package id="ilmerge" version="2.14.1208" targetFramework="net40" />
<package id="MSBuild.ILMerge.Task" version="1.0.5-rc1" targetFramework="net40" />