Построй свой код: шаблоны проектирования
18 ноября 2007
http://www.xakep.ru/post/41095/default.asp
«...»
Шаблон функционального дизайна:
«Этот шаблон, по идее, должен использоваться во всех программах. Но это, скорее, идеал - к этому надо стремиться, но достигнуть очень сложно. Фишка в том, что каждая часть программы должна делать только то, для чего предназначена, и минимально влиять на другие части программы. То есть, если в твоем крутом калькуляторе вывод на экран и суммирование чисел происходит в одном и том же месте - это не труъ. Когда станешь развивать его, делать ему вывод покруче и научишь вычитать - поймешь, почему стоило сразу разбить код на маленькие кусочки.
Обеспечить такой дизайн достаточно просто - надо к каждой функции (процедуры тоже функции, что бы там не придумывал этот Вирт) приписывать комментарий, что она делает. Если в описании будет слово "и" или "или" ("эта функция стирает носки и готовит кофе"), значит, стоить разбить ее на две ("эта функция стирает носки", "эта функция готовит кофе").»
«...»
«Например, очень распространенный шаблон MVC (Model View Controller, Модель Представление Контроллер). Идея в том, чтобы обработку данных, их получение и их вывод полностью изолировать друг от друга. Тогда, написав контроллер получения из модели и вывода списка пользователей с именем Василий, мы сможем, меняя класс Представления, выводить данные как в виде HTML, так и в виде XML, JSON, в виде документа Microsoft Word'a или картинки. А меняя класс Модели, мы сможем делать выборку на основе данных из БД, с других сайтов и т.д. Потрясающе, разве нет? И ведь код становится читабельнее, и фреймворков под MVC написано немало.»
