Programming: C#
Учебник по C# 3.6 Стркутура программы
Источник:
В этом разделе мы обсудим общую структуру программ на C# - как организовать
код, какие элементы служат для этого.
Логическая организация программы
Логическая организация кода помогает лучше в нем ориентироваться, делает код
более понятным и облегчает его повторное использование. C# отражает иерархию
пространств имен, принятую в .NET. Все классы могут быть распределены по
пространствам имен, которые образуют иерархическую структуру. Например,
пространство имен System включает в себя пространства имен Collections, Data и
другие, а Data включает в себя SqlClient, OleDbClient, SqlTypes. Полные имена
последних - System.Data.SqlClient, System.Data.OleDbClient,
System.Data.SqlTypes. Видно, что в полных именах пропичываетася весь "путь" к
namespace от корня, при этом уровни разделяются точкой.
Удобно все классы проекта разделить в иерархическую структуру, более того,
все проекты, которые вы выполняются, могут иметь общую иерархию, начинающуюся с
имени вашей компании. Например в компании с именем HT Electronics, которая
выполняет работу над проектами с именами Web Admin и Processor Manager, классы,
относящиеся к этим проектам могут быть расположены в пространствах имен
com.HTElectronics.WebAdmin и com.HTElectronics.ProcessorManager. Также может
быть общая библиотека классов в пространстве имен com.HTElectronics.Common.
Создание модели классов выходит за рамки данной публикации - созданию хорошей
архитектуры посвящены целые книги, которые мы вам очень рекомендуем прочитать. В
первую очередь это R. Gamma et al. "Design Patterns. Elements Of Reuseable
Object-Oriented Software" и J. Larman "Applying UML and Design Patterns". Обе
книги переведены на русский язык.
Последнее, о чем следует напомнить здесь - это о методе Main - точке входа в
программу. Мы уже описывали этот метод, так что здесь мы просто напомним о том,
что нужно решить, где у вас будет начинаться выполение программы.
Физическая организация программы
Под физической организацией кода мы понимаем его размещение по файлам и
каталогам. В Java существуют достаточно жесткие ограничения - соответствие имен
файлов именам классов, имен каталогов именам пакетов, размещение не более одного
public-класса в файле и т.д.
В C# подобных ограничений нет. Так что организация файлов и каталогов лежит
на программисте. В общем случае невозможно отразить структуру пространств имен
структурой каталогов - в одном файле могут быть объявлены классы из разных
пространств. Причем отсутствие такого ограничения не уменьшает логичности
структуры, зато часто это удобно - например, в Web-приложениях.
Назад | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|