Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Принцип разграничения обязанностей
Принцип разграничения обязанностей
Сейчас класс MainWindow определяет метод Main() в рамках своего контекста. Но, если хотите, можно создать другой статический класс (назовем его Program). который будет отвечать за запуск главного окна, а задачей класса, производного от Form, останется непосредственное отображение окна.
namespace MyWindowsApp {
// Главное окно.
public class MainWindow: Form {}
// Объект приложения.
public static class Program {
static void Main(string[] args) {
// He забудьте о 'using' для System.Windows.Forms!
Application.Run(new MainWindow());
}
}
}
В результате вы обеспечите поддержку одного из главных правил объектно-ориентированного программирования – разграничение обязанностей. Это правило требует, чтобы класс был ответственен за выполнение минимально возможного объема работы. Разделив исходный класс на два отдельных класса, вы тем самым отделили форму от создающего ее класса. Результатом оказывается более мобильное (в смысле переносимости) окно, поскольку его теперь можно поместить в рамки любого проекта без дополнительного метода Main(), специфичного для данного проекта.
Исходный код. Проект MyFirstWindow размещён в подкаталоге, соответствующем главе 19.
- Общие принципы моделирования
- 1.2.1. Принципы построения модели IDEF0
- Сегментация по принципам LEGO: «кирпичик за кирпичиком»
- Глава 0 Принципы хранения информации
- Распределение функциональных обязанностей между должностями
- 2.1. Принципы организации выставочного пространства
- 4.7.1. Принцип работы
- Принцип 5: всегда предлагайте хороший продукт по справедливой цене
- Изменение ассоциаций: принципы применения
- Изменение чувств: принципы применения
- Часть III. Как не сесть на мель в канале продаж: принципы организации цепочки торгового канала и управления ею
- 11.2. Принципы управления производством