Какой шаблон дизайна выглядел наиболее ужасным с первого взгляда, но в итоге оказался самым красивым из когда-либо реализованных? - PullRequest
3 голосов
/ 08 октября 2009

Я спрашиваю, потому что большинство шаблонов на первый взгляд довольно пугающие, и у меня не было большого опыта их кодирования. Большинство из того, что я имел возможность реализовать, стоило усилий, но некоторые заставляли меня чувствовать, что я потратил впустую свое время. Я хотел бы попытаться снять зверя и обнаружить, что это была не такая уж большая борьба, как казалось изначально.

Вот несколько советов о том, что я ищу в хорошем ответе:

  • Краткое описание или ссылка на ресурс
  • Почему вы думали, что это уродливо
  • Почему она оказалась красивой
  • Идея для небольшого проекта, который можно обернуть вокруг шаблона, чтобы показать его полезность

Пожалуйста, не публикуйте код. Я хочу, чтобы это был опыт обучения.

Ответы [ 2 ]

3 голосов
/ 08 октября 2009

Для меня это был DI / IOC & Mocking.

Все началось с того, что я научился юнит-тестированию. Я быстро понял, что это означает, что когда вы вызываете код, он запускает ВСЕ ваш код прямо в базу данных. Поэтому я задал следующий очевидный вопрос: «Как я могу провести модульное тестирование своей бизнес-логики, не отправляя ее в мою базу данных?»

Когда мне рассказали о насмешках, это звучало как дополнительная работа. Особенно весь код, который я должен был написать, выбрал, когда использовать тест в тесте, а когда использовать «настоящую» версию в производстве.

Поэтому я задал следующий вопрос: "Есть ли способ это упростить?" Ответ был: «Да, конечно, используйте DI & IoC. Мне объяснили это, и у меня взорвалась голова. Это не имело никакого смысла, это был точный противоположный способ написания кода за последние 10 лет.

Конечно, теперь мне нравится, что эта модель делает для меня. Чистая сепарация, простота тестирования. Но когда я впервые начал узнавать об этом, это всерьез взволновало меня!

Пример небольшого проекта, чтобы показать это? Смотрите скриншоты на DotNetRocks TV.

1 голос
/ 08 октября 2009

MVC + iPhone / Mac. Был громоздким, тогда красота этого просвечивала после начала понимать это.

Это был мой первый опыт работы с паттерном MVC. Interface Builder делает это еще приятнее.

...