Программная иженерия

Слайд 2

Шаблоны проектирования

Шаблоны проектирования

Слайд 3

Фабрика

Создает экземпляр класса, принимая во внимание переданные параметры.
Позволяет создавать экземпляры различных классов

Фабрика Создает экземпляр класса, принимая во внимание переданные параметры. Позволяет создавать экземпляры
в зависимости от текущих нужд приложения.

Слайд 4

Фабрика (базовый класс)

public class Namer { //базовый класс
protected String last;

Фабрика (базовый класс) public class Namer { //базовый класс protected String last;
protected String first;
public String getFirst() {
return first; //возвращает имя
}
public String getLast() {
return last; //возвращает фамилию
}
}

Слайд 5

Фабрика (наследники)

public class RUName extends Namer { //Иванов Иван через пробел
public RUName(String

Фабрика (наследники) public class RUName extends Namer { //Иванов Иван через пробел
s) {
int i = s.lastIndexOf(" "); //находим пробел
if (i > 0) {
first = s.substring(0, i).trim();
last = s.substring(i + 1).trim();
} else {
first = ""; // пробела нет
last = s; // значит просто Иванов
}
}
}

Слайд 6

Фабрика (наследники)

public class USName extends Namer {
// Антон, Антонов через запятую
public

Фабрика (наследники) public class USName extends Namer { // Антон, Антонов через
USName(String s) {
int i = s.indexOf(","); //ищем запятую
if (i > 0) {
last = s.substring(0, i).trim();
first = s.substring(i + 1).trim();
} else {
last = s; //нет запятой
first = ""; //все считаем за фамилию
}
}
}

Слайд 7

Класс-фабрика

public class NamerFactory {
//Возвращает тот или иной класс на основе факта присутствия

Класс-фабрика public class NamerFactory { //Возвращает тот или иной класс на основе
запятой
public Namer getNamer(String entry) {
int i = entry.indexOf(",");
if (i > 0)
return new USName(entry);
else
return new RUName(entry);
}…

Данный класс возвращает подходящий экземпляр в зависимости от требований вызывающего класса.
Как правило, экземпляры принадлежат одной иерархии наследников.

Слайд 8

Выводы

Предоставляет гибкий контроль за типом, количеством, временем создания порождаемых объектов.
Изменение поведения фабрики

Выводы Предоставляет гибкий контроль за типом, количеством, временем создания порождаемых объектов. Изменение
и порождаемых объектов в течение работы программы.
Имя файла: Программная-иженерия.pptx
Количество просмотров: 111
Количество скачиваний: 0