A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

1149924894

初级黑马

  • 黑马币:1

  • 帖子:8

  • 精华:0

© 1149924894 初级黑马   /  2015-3-15 23:15  /  3640 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

20黑马币
j2ee常用的设计模式?说明工厂模式

最佳答案

查看完整内容

总共23种,分为三大类:创建型,结构型,行为型 我只记得其中常用的6、7种,分别是: 创建型(工厂、工厂方法、抽象工厂、单例) 结构型(包装、适配器,组合,代理) 行为(观察者,模版,策略) 然后熟悉的模式我的理解。 Java中的23种设计模式: Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式), Facade(门 ...

14 个回复

正序浏览
林吉前 发表于 2015-3-18 11:26
一人一半黑马币最公平啊 理论上的东西不就是都用简单工厂咯 2。简单工厂模式:一般情况下可以使 ...

{:3_47:}我发现我博客里也全是代码http://qq179716351.blog.163.com/blog/static/24554401320152144930592/
我不要黑马币 反正是理论加例子 有需要就看咯 反正我自己也没搞懂是怎样的一回事 没在实际中应用过
回复 使用道具 举报
1149924894 发表于 2015-3-17 22:21
就一楼和十楼是我想要的.选哪个呢?

{:3_56:}一人一半黑马币最公平啊 理论上的东西不就是都用简单工厂咯 2。简单工厂模式:一般情况下可以使用简单工厂模式,但是简单工厂模式并未遵从面向对象的OCP原则,它想要不修改代码就达到扩展的目的是不可能的。如下代码,如果我要加一个雪碧饮料,那我只能修改吧台,为吧台增加一个雪碧的静态方法。
工厂方法模式:该模式弥补了简单工厂模式扩展性问题,符合了OCP原则,它要增加一个雪碧饮料,无需修改原有代码,只需增加两个类,这样的方式的缺点就是类会有很多,管理起来困难,所以一般使用简单工厂模式。
抽象工厂模式:与上面两种设计模式不同,抽象工厂模式可以扩展,但是扩展的是(如上面的范例:扩展的是整个饮料体系,而非某种饮料),不过如果用到抽象工厂模式,那么项目一定很大。
回复 使用道具 举报
就一楼和十楼是我想要的.选哪个呢?
回复 使用道具 举报
林吉前 发表于 2015-3-16 13:59
楼上写了这么一大堆还不采纳啊

这么多代码,我要理论上的东西
回复 使用道具 举报
2楼这么给力还不采纳啊。顶!!!
回复 使用道具 举报
吴阳 中级黑马 2015-3-16 20:52:56
9#
设计模式可以分为创建型模式、结构型模式和行为型模式。
创建型模式用来处理对象的创建过程;结构型模式用来处理类或者对象的组合;行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。
抽象工厂模式:就是创建型模式中的一种。
抽象工厂模式(Abstract Factory Pattern)提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类。
抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品。这样一来,客户就从具体产品中解耦。
回复 使用道具 举报
wukai 中级黑马 2015-3-16 18:34:34
8#
我擦  这么多设计模式  ios中貌似没有这么多  怎么没有观察着模式
回复 使用道具 举报
jife94 高级黑马 2015-3-16 17:37:04
7#
顶顶顶顶顶顶
回复 使用道具 举报
{:3_68:}膜拜楼上这么用心 我就什么也不说了
回复 使用道具 举报
{:3_68:}楼上写了这么一大堆还不采纳啊
回复 使用道具 举报

Java 中的23种设计模式:

Factory(工厂模式),  Builder (建造模式),  Factory Method (工厂方法模式),

Prototype (原始模型模式),Singleton (单例模式), Facade(门面模式),

Adapter(适配器模式),  Bridge(桥梁模式),  Composite (合成模式),

Decorator (装饰模式),  Flyweight (享元模式),  Proxy (代理模式),

Command(命令模式),  Interpreter (解释器模式), Visitor(访问者模式),

Iterator (迭代子模式),  Mediator(调停者模式), Memento(备忘录模式),

Observer(观察者模式),  State (状态模式),  Strategy (策略模式),

Template Method(模板方法模式),  Chain Of Responsibleity (责任链模式)

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数

据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方

法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类

通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成

不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返

回的是哪一个子类的实例。


回复 使用道具 举报
总共23种,分为三大类:创建型,结构型,行为型

我只记得其中常用的6、7种,分别是:

创建型(工厂、工厂方法、抽象工厂、单例)

结构型(包装、适配器,组合,代理)

行为(观察者,模版,策略)

然后熟悉的模式我的理解。   



Java中的23种设计模式:

Factory(工厂模式),      Builder(建造模式),       Factory Method(工厂方法模式),

Prototype(原始模型模式),Singleton(单例模式),    Facade(门面模式),

Adapter(适配器模式),    Bridge(桥梁模式),        Composite(合成模式),

Decorator(装饰模式),    Flyweight(享元模式),     Proxy(代理模式),

Command(命令模式),      Interpreter(解释器模式), Visitor(访问者模式),

Iterator(迭代子模式),   Mediator(调停者模式),    Memento(备忘录模式),

Observer(观察者模式),   State(状态模式),         Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)

     工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马