Метод факторизации Описание
Extract Method (выделение метода) Позволяет определить новый метод на основе выделенных операторов программного кода
Encapsulate Field (инкапсуляция поля) Превращает открытое поле в приватное, инкапсулированное в свойство C#
Extract Interface (выделение интерфейса) Определяет новый интерфейсный тип на основе множества существующих членов типа
Reorder Parameters (перестановка параметров) Обеспечивает изменение порядка следования аргументов
Remove Parameters (удаление параметров) Удаляет данный аргумент из списка параметров
Rename (переименование) Позволяет переименовать лексему программного кода (метод, поле, локальную переменную и т.д.)
Promote Local Variable to Parameter (перемещение локальной переменной в параметр) Перемещает локальную переменную в набор параметров определяемого метода

Чтобы проиллюстрировать возможности применения средств факторизации на практике, добавьте в метод Main() следующий программный код.

static void Main(string[] args) {

 // Определение консольного интерфейса (CUI)

 Console.Title = "Мое приложение".;

 Console.ForegroundColor = ConsoleColor.Yellow;

 Console.BackgroundColor = ConsoleColor.Blue;

 Console.WriteLine("*************************************");

 Cоnsole.WriteLine("******** Это мое приложение! ********");

 Console.WriteLine("*************************************");

 Console.BackgroundColor = ConsoleColor.Black;

 // Ожидание нажатия клавиши для завершения работы.

 Console.ReadLine();

}

Этот программный код вполне работоспособен, но представьте себе, что вы хотите отображать генерируемую им подсказку в разных местах вашей программы. Вместо того чтобы вводить вручную операторы определения интерфейса снова и снова, было бы идеально иметь помощника, который мог бы делать это за вас. К счастью, в данном случае вы можете применить к существующему программному коду метод факторизации Extract Method (Выделение метода). Сначала в окне редактора выберите все операторы программного кода (за исключением последнего вызова Console.ReadLine()). Затем щелкните правой кнопкой мыши и из появившегося контекстного меню Refactor выберите опцию Extract Method. В появившемся диалоговом окне укажите имя нового метода – ConfigurеCUI(). В результате вы обнаружите, что теперь метод Main() вызывает новый сгенерированный метод ConfigureCUI(), содержащий ранее выделенный программный код.

class Program {

 static void Main (string[] args) {

  ConfigureCUI();

  // Ожидание нажатия клавиши для завершения работы.

  Cоnsole.ReadLine();

 }

 private static void ConfigureCUI() {

  // Определение консольного интерфейса (CUI)

  Console.Title = "Мое приложение";

  Console.ForegroundColor = ConsoleColor.Yellow;

  Console.BackgroundColor = ConsoleColor.Blue;

  Console.WriteLine("*************************************");

  Cоnsole.WriteLine("******** Это мое приложение! ********");

  Console.WriteLine("*************************************");

  Console.BackgroundColor = ConsoleColor.Black;

 }

}

Перейти на страницу:

Похожие книги