- 浏览: 216934 次
- 性别:
- 来自: 北京
文章分类
在实际项目中,简单工厂模式是我们使用的最多的设计模式之一,简单工厂模式在应对需求变更的过程中也起到了很大的作用。
使用情景:
再不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。
案例:
例如如果实现计算器的功能时,对于同样的输入数据,可能执行加、减、乘、除,甚至其他的功能。因此可以抽象出一个操作的抽象类或是接口,提供一个统一的处理方法(此处为process),然后每种操作创建出一个子类出来。而判断具体使用哪个具体的实现类是在工厂类中进行判断的(将存放操作的变量传递给工厂的生产方法)。工厂类始终返回的是这个抽象类,这样如果对原有功能进行更改或是新添加新的功能,也不会对原来的其他类做修改,只编译修改的那个类或是新的类就可以了。
这样就做到了把耦合降到最低,同时也便于维护。
注意:如果客户提出要再添加一个功能来处理这些数据,实现起来就灰常方便了
使用情景:
再不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。
案例:
例如如果实现计算器的功能时,对于同样的输入数据,可能执行加、减、乘、除,甚至其他的功能。因此可以抽象出一个操作的抽象类或是接口,提供一个统一的处理方法(此处为process),然后每种操作创建出一个子类出来。而判断具体使用哪个具体的实现类是在工厂类中进行判断的(将存放操作的变量传递给工厂的生产方法)。工厂类始终返回的是这个抽象类,这样如果对原有功能进行更改或是新添加新的功能,也不会对原来的其他类做修改,只编译修改的那个类或是新的类就可以了。
这样就做到了把耦合降到最低,同时也便于维护。
注意:如果客户提出要再添加一个功能来处理这些数据,实现起来就灰常方便了
发表评论
-
多种单例模式的分析
2012-03-28 18:06 0blog.csdn.net/derpvailzhangfan/ ... -
JDK中的设计模式
2012-03-14 22:56 01.Abstract Factory •java.util.C ... -
AbstractList中Iterator模式的妙用
2012-01-13 11:51 980AbstractList中为了实现顺序访问AbstractLi ... -
适合使用命令模式的情景
2012-01-13 11:31 921情景1.当借个类都拥有 ... -
Iterator模式
2012-01-13 10:57 898我个人常叫它游标模式,该模式的主要目的就是,顺序访问集合中的各 ... -
使用工厂设计模式的场景
2012-01-12 15:43 2796创建类对象虽然可以使用new(底层也是通过反射创建对象的),但 ... -
JDK中使用的设计模式
2012-01-13 10:04 14451.抽象工厂模式 实 ... -
JDK中使用的设计模式代码实例
2012-01-05 17:38 0http://stackoverflow.com/questi ... -
享元模式
2011-12-23 10:22 1042通常情况下,我们会需 ... -
策略模式
2011-12-22 17:07 893所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响 ... -
合成设计模式
2011-12-22 16:28 993如果要将对象组织到树中,使用树来表示对象之间的关系,请考虑使用 ... -
责任链模式
2011-12-20 18:35 845此文转正于http://wenku.baidu.com/vie ... -
桥梁设计模式
2011-12-19 18:19 845如果有很多对象要处理,而又有很多操作要做。这时可以考虑使用桥梁 ... -
多线程设计模式(Thread-Specific storage)
2011-12-12 15:29 5858引用自http://www.riabook.cn/doc/de ... -
代理模式
2011-11-30 15:26 940代理模式实际上是对对象的一种代理,以控制对象的访问。 有些情况 ... -
观察者模式
2011-11-16 14:48 1426声明转载的,简单易懂,呵呵 观察者模式的构造 l 抽 ... -
命令模式
2011-11-16 14:11 1258今天想学学命令模式,看见了一个文章讲的就是命令模式,感觉实例比 ... -
建造模式
2011-11-14 12:03 928建造模式是将负责对象 ... -
设计模式之适配器模式
2011-11-09 18:24 974适配器模式:主要是为了解决,老的对象在新的环境中不兼容的现象。 ... -
设计模式之模版方法
2011-11-09 16:31 825模版方法是一种非常简单的设计模式:简单的理解就是将关键的业务方 ...
相关推荐
简单工厂模式是工厂模式的一种变体,适用于创建对象的类相对较少且固定的情况。 3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 4. **构造器模式**:将一个复杂对象...
这篇“设计模式学习心得(研磨设计模式)”博客及其相关的PDF文档,为我们提供了一个深入理解和应用设计模式的宝贵资源。以下将针对单例模式、工厂方法模式、策略模式、命令模式和桥接模式进行详细讲解。 1. **单例...
2. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是引用一个共同的接口来指向新创建的对象。这有助于减少代码的...
每种模式都有其特定的目的和使用场景,理解并掌握它们能提高代码的可读性、可维护性和复用性。 而《java设计模式讲解.ppt》可能是对这些模式的详细解读,可能包括每个模式的定义、UML类图、实现示例以及如何在Java...
在实际的应用中,我们要根据具体的场景来决定使用工厂模式是否合适,以及采用何种形式的工厂模式。同时,工厂模式并不是万能的,它可能会增加系统的复杂度,并且有时候可能会违反单一职责原则,因此我们在设计系统时...
常见的创建型设计模式有六种,即简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式。通过使用Visio或Rose画UML图,我们可以更好地理解和比较这些模式的特点和适用场合。 在实验报告中,...
- 抽象工厂模式(Abstract Factory):提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类。 - 建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。...
【工厂生产实习心得体会】 实习是学生们接触实际工作环境的重要途径,尤其对于IT行业之外的专业,如机械工程、工业设计或管理科学等,工厂生产实习能够提供宝贵的实践经验。以下是对标题和描述中涉及的知识点的详细...
- **应用场景**:在Spring中,`BeanFactory` 是简单工厂模式的一个典型例子。它根据提供的唯一标识符来获取Bean对象,从而实现了根据不同的条件创建不同的对象。 - **优势**:提高了代码的灵活性和可扩展性,减少了...
这通常涉及到多个模式的协同工作,例如,使用工厂模式创建对象,然后用装饰器模式来动态添加功能,或者结合使用策略模式和观察者模式来处理变化的策略和事件通知。 **实验报告的价值** 通过这些实验,学生能够深化...
- **1.2 Abstract Factory模式**:抽象工厂模式提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。 - **1.3 Singleton模式**:单例模式确保一个类只有一个实例,并提供一个全局访问点...
- 举例说明:在一个模拟农场游戏中,可以使用抽象工厂模式来创建不同类型动物的产品族,例如鸟类、哺乳类等。 - 优点:提高了系统的灵活性和可扩展性,使得添加新的产品族变得简单。 4. **优点和缺点**: - 优点...
文中提到的23种设计模式中,作者详细介绍了19种,包括但不限于单例模式、工厂模式、观察者模式、装饰者模式、适配器模式、策略模式等。这些模式分别解决着对象创建、结构组织和行为控制等方面的问题。例如,单例模式...
- **应用场景**:比如需要为不同品牌创建一系列电子产品时,可以使用抽象工厂模式。 #### 建造者模式 - **工作原理**:逐步构造一个复杂的对象。它允许用户只使用一个简单的接口来创建不同的表示形式的对象。 - **...
包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。 2. **结构型模式(Structural Patterns):** 关注于如何组合类和对象形成更大的结构,同时保持结构的灵活性。例如适配器模式、桥接模式、组合...
11. **设计模式**:识别并理解常见的设计模式(如工厂模式、单例模式、观察者模式等),可以提高代码的可读性和可维护性。 12. **性能优化**:关注代码的性能瓶颈,如不必要的计算、重复的内存分配或I/O操作,以及...
- 抽象工厂模式(Abstract Factory) - 构建者模式(Builder) - 原型模式(Prototype) 2. **结构型模式**:关注的是如何组合类或对象形成更大的结构。 - 适配器模式(Adapter) - 桥接模式(Bridge) - ...
在实际开发中,用户管理通常涉及到用户注册、登录验证、权限控制等功能,这些都需要利用到面向对象设计原则和设计模式,比如工厂模式、单例模式等。 "Java275"可能是指Java 2版的第75个更新,也可能是某个特定主题...
- **创建型模式**关注的是对象的创建机制,试图创建对象的过程尽可能简化,常见的有工厂模式、抽象工厂模式、单例模式等。 - **结构型模式**关注的是类和对象的组合,用于处理类或对象之间的关系,使代码更加灵活,...
1. **创建型模式**:关注的是对象的创建方式,包括单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式等。这些模式提供了一种更为灵活的方式来创建对象,使得对象的创建过程更加透明化。 2. **结构型模式**:...