Проектирование кода

добавлено: 19 май 11
понравилось:0
просмотров: 1873
комментов: 0

теги:

Автор: Игорь Антонов

Я практик и всегда писал с точки зрения практики. В журнале было опубликовано уже тонна моих примеров, сетевых и прикольных, были и книги. При написании маленьких примеров стараешься писать код как можно проще и понятнее, что не допустимо при написании даже средних проектов, не говоря уже о более крупных. Сегодня я решил повернуться к теории передом, а к практике задом. И не просите, наклоняться не буду, буду рассказывать.

Проблема учебной литературы по программированию, которая дает базовые знания в том, что там примеры всегда просты. Авторы (и я в том числе) нарушают правила проектирования ради наглядности и простоты. Ну а читатели, научившись писать простые телефонные справочники и лепить весь код в один класс главной формы, даже не пытаются читать книги по проектированию, а сразу идут создавать программы. Это громадная ошибка.


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

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

Модель, представление, контроллер

Мне удалось поработать в нескольких компаниях в России, и я заметил, что подход MVC (Model View controller) некоторые вообще не применяют, а некоторые применяют, но неправильно. Я видел только Web проекты, где программисты хоть как-то пытались разделить логику от представления, а вот в Delphi проектах ничего подобного вообще не встречал. Может быть, мне не везло, а может я не так смотрел, в общем, я решил поговорить именно на эту тему.

Скачайте любой из моих проектов с сайта www.cydsoft.com и установите себе на компьютер. Теперь загляните в папку с установленной программой. Обратите внимание, что там помимо исполняемого файла будет несколько библиотек. В самом исполняемом файле будет находиться только основное окно программы, основные диалоговые окна и обработчики событий для действий в окнах. Никакой логики в исполняемом файле нет. Весь код реализующий логику я всегда выношу в отдельные модули или даже библиотеки. Если проект намечается большой, то логика будет в библиотеках, а если проект маленький, то просто в отдельных модулях в отдельной папке.

Полная версия:http://www.vr-online.ru/content/proektirovanie-koda-4027

Комментарии




Необходимо войти на сайт, чтобы оставлять комментарии