Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 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.144. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз