Java中常用的设计模式有哪些?请详细说明一下工厂模式。

 我来答
哈尔滨市南岗区爱尚职
2017-06-15 · 做品质教育,用事实说话
哈尔滨市南岗区爱尚职
爱尚实训成立于2010年,总部设立在软件外包名城—大连,并在哈尔滨和沈阳设有分校。爱尚实训专注于IT行业精英的培养,打造高端IT技能实训品牌。
向TA提问
展开全部
1.单例模式(有的书上说叫单态模式其实都一样)
该模式主要目的是使内存中保持1个对象
2.工厂模式
该模式主要功能是统一提供实例对象的引用。看下面的例子:
public class Factory{
public ClassesDao getClassesDao(){
ClassesDao cd = new ClassesDaoImpl();
return cd;
}
}
interface ClassesDao{
public String getClassesName();
}
class ClassesDaoImpl implements ClassesDao {
public String getClassesName(){
System.out.println("A班");
}
}
class test
{
public static void main(String[] args){
Factory f = new Factory();
f.getClassesDao().getClassesName();
}
}
这个是最简单的例子了,就是通过工厂方法通过接口获取对象的引用
3.建造模式
该模式其实就是说,一个对象的组成可能有很多其他的对象一起组成的,比如说,一个对象的实现非常复杂,有很多的属性,而这些属性又是其他对象的引用,可能这些对象的引用又包括很多的对象引用。封装这些复杂性,就可以使用建造模式。
4.门面模式
这个模式个人感觉像是Service层的一个翻版。比如Dao我们定义了很多持久化方法,我们通过Service层将Dao的原子方法组成业务逻辑,再通过方法向上层提供服务。门面模式道理其实是一样的。
5.策略模式
这个模式是将行为的抽象,即当有几个类有相似的方法,将其中通用的部分都提取出来,从而使扩展更容易。
詹爵云蕙若
2020-01-20 · TA获得超过3685个赞
知道大有可为答主
回答量:3089
采纳率:32%
帮助的人:241万
展开全部
一共23种设计模式!
引用《软件秘笈-设计模式那点事》书籍:
按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:

工厂方法模式(Factory
Method
Pattern)

抽象工厂模式(Abstract
Factory
Pattern)

建造者模式(Builder
Pattern)

原型模式(Prototype
Pattern)

单例模式(Singleton
Pattern)
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式:

适配器模式(Adapter
Pattern)

桥接模式(Bridge
Pattern)

组合模式(Composite
Pattern)

装饰者模式(Decorator
Pattern)

外观模式(Facade
Pattern)

享元模式(Flyweight
Pattern)

代理模式(Proxy
Pattern)
行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以下11种设计模式:

责任链模式(Chain
of
Responsibility
Pattern)

命令模式(Command
Pattern)

解释器模式(Interpreter
Pattern)

迭代器模式(Iterator
Pattern)

中介者模式(Mediator
Pattern)

备忘录模式(Memento
Pattern)

观察者模式(Observer
Pattern)

状态模式(State
Pattern)

策略模式(Strategy
Pattern)

模板方法模式(Template
Method
Pattern)

访问者模式(Visitor
Pattern)
抽象工厂模式(Abstract
Factory
Pattern)提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类。
抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品。这样一来,客户就从具体产品中解耦。
详情请参考书籍《软件秘笈:设计模式那点事》,里面讲解的23中设计模式例子很生动,容易理解,还有JDK中设计模式应用情况,看了收获挺大的!好东西大家一起分享!
祝你早日学会设计模式!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式