`
isiqi
  • 浏览: 16734754 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

创建型模式

阅读更多

FactoryMethod

packagelq.test;

importjava.io.*;
importjava.util.*;

//factorymethod1
//1具体的构造算法,和2构造出的具体产品由子类实现
interfaceProduct...{
}


//或者我也提供一个工厂的接口,由这个抽象类来继承它

abstractclassFactory...{
abstractpublicProductfmd();

//我认为这个方方法的存在是,是对FactoryMethod方法的补充
//例如可以为生成的对象赋值,计算为生成对象应付何值,前后的日值
//且这些都是公用的,生成产品的最主要算法还是在FactoryMethod中,
//这个方法只是起辅助作用,这也是一种思维方法,将具体的算法实现在一个方法中
//而我不直接调用此方法,而使用另外的一个方法封装它,等到了更灵活的效果,而
//子类需实现的内容是FactoryMethod
//此方法是一个TemplateMethod
publicProductcreat()...{
Productpd
=null;

System.out.println(
"beforeoperation");

pd
=fmd();

System.out.println(
"endoperation");

returnpd;
}

}


classProduct1implementsProduct...{
}


classFactory1extendsFactory...{
publicProductfmd()...{
Productpd
=newProduct1();
returnpd;
}

}


//FactroyMethod2
//这种方式简单实用
interfaceProducta...{
}


interfaceFactorya...{
Productacreate();
}


classProducta1implementsProducta...{}

classFactorya1implementsFactorya...{
publicProductacreate()...{
Productapda
=null;
pda
=newProducta1();
returnpda;
}

}

AbstractFactory

packagelq.test;
importjava.io.*;
importjava.util.*;

//AbstractFactory与FactoryMethod的不同在于AbstractFactory创建多个产品
//感觉此模式没有什么大用

//当然可以还有更多的接口
interfaceApda...{}

interfaceApdb...{}

interfaceAfactory...{
ApdacreateA();
ApdbcreateB();
}


classApda1implementsApda...{}

classApdb1implementsApdb...{}

//有几个接口就有几个对应的方法
classAfactory1implementsAfactory...{
publicApdacreateA()...{
Apdaapda
=null;
apda
=newApda1();
returnapda;
}


publicApdbcreateB()...{
Apdbapdb
=null;
apdb
=newApdb1();
returnapdb;
}

}

Buider

//一个产品的生成分为生成部件和组装部件,不同的产品每个部件生成的方式不同
//而组装的方式相同,部件的生成抽象成接口方法,而组装的方法使用一个TemplateMethod方法

interfaceCpda...{}

classCpda1implementsCpda...{}

interfaceBuilderI...{
voidbuildPart1();
voidbuildPart2();

voidinitPd();
CpdagetPd();
}


abstractclassBuilderAimplementsBuilderI...{
Cpdacpda;

publicCpdagetPd()...{
initPd();

//对对象的内容进行设置
buildPart1();
buildPart2();

returncpda;
}

}


classBuilderextendsBuilderA...{
publicvoidbuildPart1()...{
System.out.println(cpda);
}


publicvoidbuildPart2()...{
System.out.println(cpda);
}


publicvoidinitPd()...{
cpda
=newCpda1();
}

}

Singleton

classSingleton1...{
publicstaticSingleton1instance=newSingleton1();

privateSingleton1()...{
}


publicstaticSingleton1getInstance()...{
returninstance;
}

}


classSingleton2...{
publicstaticSingleton2instance;

privateSingleton2()...{
}


//publicstaticSingleton2getInstance(){
//if(instance==null){
//instance=newSingleton2();
//}
//
//returninstance;
//}

publicstaticSingleton2getInstance()...{
synchronized(Singleton2.class)...{
if(instance==null)...{
instance
=newSingleton2();
}

}


returninstance;
}

}

分享到:
评论

相关推荐

    设计模式之创建型模式实验.docx

    【设计模式之创建型模式实验】 创建型设计模式主要关注对象的创建,它们提供了一种在不指定具体类的情况下创建对象的方式,增强了系统的灵活性和可扩展性。在本实验中,我们将探讨五种常见的创建型设计模式:简单...

    C#面向对象设计模式纵横谈-1.Singleton 单件(创建型模式)

    在提供的"1.Singleton 单件(创建型模式).wmv"视频文件中,可能详细讲解了Singleton模式的概念、实现方式、优缺点以及在C#中的具体应用实例,包括如何在实际项目中适当地使用和避免滥用Singleton模式。观看该视频可以...

    设计模式之创建型模式

    创建型模式作为设计模式的五种主要类别之一,它主要关注的是对象的创建过程,通过抽象和封装创建过程中的变化点,使得系统能够更加灵活地应对未来的变化。 创建型模式包括多种不同的模式,例如工厂模式、单态模式、...

    C#面向对象设计模式纵横谈(2):Singleton 单件(创建型模式)

    标题和描述均聚焦于"C#面向对象设计模式"之中的"Singleton单件(创建型模式)",这是一种在软件工程领域广泛运用的设计模式,其核心在于确保一个类只有一个实例,并提供一个全局访问点,以实现资源的有效管理和控制。...

    面向对象设计模式:Singleton 单件(创建型模式)

    李建忠面向对象设计模式视频精讲:Singleton 单件(创建型模式)

    23种设计模式,创建型模式共5种,结构型模式7种,行为型模式11种

    设计模式分为三大类:创建型模式、结构型模式和行为型模式。 **创建型模式**关注的是对象的创建。共有五种创建型模式: 1. **工厂方法模式**:它定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法...

    软件设计模式实验1创建型模式源码

    1、使用工厂方法模式重构上个学期的简易四则计算器(带用户界面),并在原有四则计算器中拓展功能,增加指数和对数两种二元运算。 2、假设生产计算机只需要CPU、内存、显卡、显示器和光驱,现在要生产3个不同型号的...

    C#面向对象设计模式纵横谈-创建型模式

    虽然不是严格意义上的创建型模式,但组合模式与创建型模式密切相关,因为它允许我们构建树形结构的对象。它将简单对象和组合对象以一致的方式处理,使客户端代码可以透明地操作单个元素或整个对象结构。 以上创建...

    创建型模式创建型模式创建型模式创建型模式

    创建型模式是软件设计模式中的一个重要类别,它们主要关注对象的创建过程,旨在提供一种抽象的方式来实例化对象,使得系统能够独立于具体类的实例化、组合和表示。这种独立性提高了系统的灵活性,使得在面临需求变化...

    Java设计模式之创建型模式源码以及文档

    本篇主要聚焦于创建型模式,这是一种用来处理对象创建的技术,通过封装、抽象和多态来提供更灵活的实例化过程。 创建型模式包括五种主要类型:单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract ...

    设计模式1-创建型模式

    "设计模式1-创建型模式" 设计模式是软件设计中的一种解决方案,它提供了一种通用的设计方案,解决了面相对象系统中重复出现的设计问题。设计模式的学习和运用对软件系统开发有着非常重要的意义,它可以帮助开发者更...

    设计模式原理与应用之创建型模式.pptx

    创建型模式是设计模式中的一个重要类别,它关注于对象的创建过程,帮助开发者封装创建细节,使系统独立于具体对象的创建方式。 1. **Singleton(单例模式)** 单例模式确保一个类只有一个实例,并提供全局访问点...

    设计模式之创建型模式.pdf

    创建型模式是软件工程中23种设计模式中的一类,主要目的是使得对象的创建与使用相分离,从而使系统更加灵活。创建型模式包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式等。这些模式各有其特定的...

    行为型模式+结构型模式+创建型模式:三大设计模式实例剖析与深入解读

    在给定的标题和描述中,我们关注的是三种主要的设计模式类别:行为型模式、结构型模式和创建型模式。下面将分别对这三大类模式进行详细阐述,并通过实例剖析它们的核心概念和应用场景。 **行为型模式**主要关注对象...

    Java设计模式之创建型模式的几个小DEMO

    创建型模式是设计模式的一种分类,主要关注对象的创建过程,旨在抽象和隔离实例化过程,提高代码的灵活性和可复用性。本篇文章将详细探讨Java中的几种创建型设计模式,并通过具体的DEMO来阐述它们的应用。 1. 单例...

    创建型模式uml类图EA文件.rar

    在软件设计领域,创建型模式是一种重要的设计模式类别,它主要关注对象的创建过程,以提供更为灵活和可扩展的代码结构。本压缩包文件包含了五个关于创建型模式的UML类图,通过Enterprise Architect(EA)软件进行...

    设计模式之“创建型模式”经典代码

    创建型模式是设计模式的一种,主要关注对象的创建过程,帮助我们在不同场景下以灵活、抽象的方式创建对象,提高代码的复用性和可读性。以下是对几种创建型模式的详细解释: 1. **抽象工厂(Abstract Factory)** ...

    创建型模式(除singleton)外的四种模式简单实例

    在本实例中,我们将探讨四种创建型模式:Abstract Factory、Builder、Factory Method和Prototype。 1. **Abstract Factory模式**: - 抽象工厂模式是一种为一个产品族提供对象的接口,它不指定具体的产品类,而是...

Global site tag (gtag.js) - Google Analytics