我的设计模式学习之路2(工厂模式)

来源:互联网 发布:大智慧分析家软件 编辑:程序博客网 时间:2024/05/22 02:11

    工厂模式(Factory)

    所谓简单工厂模式是类的创建模式,是由一个工厂对象决定创建出哪 一种产品类的实例。

    角色:

    工厂类角色: 在客户端的直接调用创建产品,一个具体类,可以根据传入的参数不同返同不同的实例。

    抽象产品角色: 一个接口,定义了具体产品所受的规范,即相同的形为。 

    具体产品角色:工厂类角色所需创建的类,一个具体类或多个。

  


    1.简单工厂模式

       类图:

  

    一个简单例子,代码如下:

package com.design;public class PersonFactory{public Person getPerson(String str){if(str.equals("chinese")){return new Chinese();}if(str.equals("america")){return new America();}return null;}}interface Person{public String sayHello();public String sayGoodbye();}class America implements Person{@Overridepublic String sayHello(){return "hello";}@Overridepublic String sayGoodbye(){return "goodbye";}}class Chinese implements Person{@Overridepublic String sayHello(){return "你好";}@Overridepublic String sayGoodbye(){return "再见";}}

测试类Test

package com.design;public class Test{public static void main(String[] args){PersonFactory factory = new PersonFactory();Person chinese=factory.getPerson("chinese");System.out.println(chinese.sayHello());System.out.println(chinese.sayGoodbye());Person america = factory.getPerson("america");System.out.println(america.sayHello());System.out.println(america.sayGoodbye());}}

2.抽象工厂模式





原创粉丝点击