'

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

Понравилась презентация – покажи это...





Слайд 0

Программная иженерия Андрей Дмитриев andrei-dmitriev@yandex.ru http://improve-it.org ©2007-2010


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

Фабрика (наследники) public class USName extends Namer { // Антон, Антонов через запятую public 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 = ""; //все считаем за фамилию } } }


Слайд 6

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


Слайд 7

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


Слайд 8

Q&A


Слайд 9

Спасибо! Андрей Дмитриев andrei-dmitriev@yandex.ru http://improve-it.org ©2007-2010


×

HTML:





Ссылка: