Метод факторизации | Описание |
---|---|
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
// Ожидание нажатия клавиши для завершения работы.
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
}
}