В этой статье описывается использование режима Builder для реализации функции подачи заявки на пакеты мобильных телефонов. Поделитесь этим для вашей ссылки, следующим образом:
1. Определение шаблона
Строитель просто понимает это для создания вещей, но модель строителя не простая вещь, а относительно сложная вещь.
2. Примеры модели
1 Анализ шаблона
Мы заимствуем пример того, как клиент, отправляющийся в пакет мобильных телефонов, подать заявку на пакет мобильных телефонов, чтобы проиллюстрировать эту модель после абстрактного анализа, мы получаем следующую информацию о клиенте Zhang San - оператор Business Hall Terminal - инструктор (уведомляя застройщика, какой вид пакета мобильного телефона для производства)
Компьютер - Строитель (создайте различные пакеты мобильных телефонов)
Пакет мобильного телефона - продукт
2 Статическое моделирование режима строителя
3 примеры кода
3.1 Создать продукт - пакет мобильного телефона
пакет com.demo.buider.model; открытый класс MobilePackage {// Телефонный счет частные деньги; // SMS Private Int ShortInfo; // кулака частной струнной музыки; public float getMoney () {return Money; } public void setmoney (float money) {this.money = money; } public int getShortinfo () {return shortInfo; } public void setShortinfo (int shortInfo) {this.shortinfo = shortInfo; } public String getMusic () {return Music; } public void setMusic (String Music) {this.music = music; }}3.2 Интерфейс строителя
пакет com.demo.buider.itf; import com.demo.buider.model.mobilepackage;/** * * // SMS для создания мобильного пакета public void buildshortinfo (); // cailing public void buildmusic (); // Вернуться к созданному объекту мобильного пакета Public MobilePackage getMobilePackage ();}
3.3 Установите конкретный строитель
Специфический строитель 1
Пакет com.demo.buider.itf; import com.demo.buider.base.abstractbasepackage; import com.demo.buider.model.mobilepackage;/** * Пакет 1 * * @author maofw */public class mobilebuilmplempl1 extrable basePackag buildmoney () {this.mobilepackage.setmoney (20.0f); } // cailing public void buildmusic () {this.mobilepackage.setmusic ("angel"); } // SMS для создания мобильного пакета public void buildshortinfo () {this.mobilepackage.setshortinfo (400); } // Вернуться в созданный объект мобильного пакета public mobilePackage getMobilePackage () {return this.mobilepackage; }}Специфический строитель 2
Пакет com.demo.buider.itf; import com.demo.buider.base.abstractbasepackage; import com.demo.buider.model.mobilepackage;/** * Пакет 2 * @author maofw */public class mobilebuilmplag buildmoney () {this.mobilepackage.setmoney (30.0f); } // cailing public void buildmusic () {this.mobilepackage.setmusic ("sea"); } // SMS для создания мобильного пакета public void buildshortinfo () {this.mobilepackage.setshortinfo (600); } // Вернуться в созданный объект мобильного пакета public mobilePackage getMobilePackage () {return this.mobilepackage; }}3.4 Создание наставника
пакет com.demo.buider.director; import com.demo.buider.itf.imobilebuilder; import com.demo.buider.model.mobilepackage;/** * Инструктор мобильного пакета * * @author maofw * */public mobiledector {public mobilepackage createmobale (imobilebule) if (mobileBuilder! = null) {// Создание телефона счета MobileBuilder.buildMoney (); // Создание текстового сообщения mobileBuilder.buildShortInfo (); // Создание Cailing MobileBuilder.buildMusic (); // Возврат в мобильный пакет return MobileBuilder.getMobilePackage (); } return null; }}Позвольте клиентам заказать пакеты мобильных телефонов
пакет com.demo.buider; import com.demo.buider.director.mobileDirector; import com.demo.buider.itf.mobilebuilderimpl1; import com.demo.buider.itf.mobilebuilderimpl2; import com.demo.buider.model.mobilepack;****************************************** * @param args */ public static void main (string [] args) {// Создать наставника MobileDirector MobileDirector = new MobileDirector (); // План 1 MobileBuilderImpl1 MobileBuilderImpl1 = new MobileBuilderImpl1 (); // Plan 2 MobileBuilderImpl2 MobileBuilderImpl2 = new MobileBuilderImpl2 (); printmessage (mobiledirector.createmobilepackage (mobilebuilderimpl1)); printmessage (mobiledirector.createmobilepackage (mobilebuilderimpl2)); }/*** Информация о пакете распечатки*/public static void printmessage (mobilepackage mobilepackage) {System.out.println ("-Теэклеточный:" + mobilepackage.getmoney () + "/t sms:" + mobilepackage.getshortinfo () + "twitter/t cauling:" + mobilepackage. }}Результаты бега
-TEL: 20.0 SMS: 400 CAILING: Angel
-TEL: 30.0 SMS: 600 CAILING: Dahai
3. Принцип установки модели
1 шаг к созданию сложных объектов
2. Стройте и представляют разделение
3 Принцип единой ответственности
4. Используйте случаи
1 Когда объект продукта имеет сложную структуру внутри него
2 Когда сложные объекты должны быть отделены от представления, им может потребоваться создание разных представлений
3 Когда необходимо скрыть структурные показатели продукта от клиентов
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.