简单工厂模式

来源:互联网 发布:sql创建主键语句 编辑:程序博客网 时间:2024/06/15 18:38

java设计模式大体分为23种设计模式,直接通过例子学习设计模式,更易于理解和思考其中的原理和作用,以下给出简单工厂模式 的demo:


MainRun.java类,是程序运行入口,含有main方法。大伙认真的看main方法上面的注释喔,是博主对此模式的总结和分析。(附 advantage是表示使用此模式的优势,disadvantage是此模式的不足和缺点,use scene是表示此模式的使用场景。)

package cn.cat.design.mode.factory.simple;public class MainRun {/**简单工厂模式:客户需要获取产品,不是直接由用户创建,而是只需要向工厂获取即可。 * advantage: 用户不用关心产品是如何生产的,并且便于对产品进行控制。 * disadvantage:面对有些用户对产品的特殊需求,就不能通过工厂类统一供给。并且工厂类的修改,会牵扯到很多客户。 * use scene:需要控制产品的生成,减少客户对产品的控制度,简化产品的获取方式。 * @param args */public static void main(String[] args) {//从工厂中获取产品Apple apple = AppleFactory.getInstance();System.out.println("apple.flavour:"+apple.getFlavour());System.out.println("apple.shape:"+apple.getShape());}}



AppleFactory.java

package cn.cat.design.mode.factory.simple;/**工厂类,负责生产出产品 * * @author Cat(gwj) * date 2015-8-2 * time 下午2:14:59 */public class AppleFactory {public static  Apple getInstance() {Apple apple = new Apple();apple.setFlavour("sweet");apple.setShape("ellipse");System.out.println("工厂类AppleFactory生产出苹果产品:"+apple);return apple;}}


Apple.java

package cn.cat.design.mode.factory.simple;/**产品:苹果 * * @author Cat(gwj) * date 2015-8-2 * time 下午2:12:36 */public class Apple {/** * 味道 */private String flavour;/** * 形状 */private String shape;public String getFlavour() {return flavour;}public void setFlavour(String flavour) {this.flavour = flavour;}public String getShape() {return shape;}public void setShape(String shape) {this.shape = shape;}}



------------------------------------------------------------demo end------------------------------------------------------------------------------