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
 

Hosted by uCoz