简单工厂模式

来源:互联网 发布:阿里云服务器无法访问 编辑:程序博客网 时间:2024/06/03 22:29

设计模式在我看来是为了软件工程,通过设计包括封装,继承,多态等降低程序的耦合程度,使软件工程容易修改并且易于服用。虽然作为厂商工作者,不需要面对客户开发客户端接口架构一类的工作,但设计模式在日常的code工作中是一下手就知有没有,不像刷acm无视代码结构一样。
这次说一下简单工厂模式,毕竟这个比较容易理解在大话设计模式第一篇,翻一本书来来回回看到最多。

何为工厂,能够批量按照模具生产的东西。何为模式,模式是指从生产经验和生活经验中经过抽象和升华提炼出来的核心知识体系。模式(Pattern)其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。

所以,工厂模式就是把我们的“模具”送给工厂,工厂加工后提供给我们一个“产品”。简单工厂模式的核心是实现了业务逻辑的分离。
上一段代码:

class Factory {    public static E createObject(E object) {        Object ob = null;        swtich(object) {            case "a":                ob = new makeObjectA();                break;            case "b":                ob = new makeObjectB();                break;        }        return ob;

上面是一个工厂类,当我们传入一个object,工厂根据我们的模具,产出一个对象给我们,我们根据这个对象进行数据的处理。

public class makeObjectA(){    private E segA;    private E segB;    public E cal() {        return segA*segB;    }}
Object ob;ob = Factory.createObject("a");ob.segA = tmpObject;ob.segB = tmpObject;ob.cal();

大致的框架就是这样,当模具种类多的时候把业务逻辑分开,当需求发生变更的时候修改和复用更简单。
还可以定义接口来规范工厂生产的对象的行为,保证对象的行为规范,以达到标准化生产。

interface makeObject{    public E cal();}

然后让

makeObjectA implements makeObject{}

一个简单的实现业务和客户逻辑分离的工厂模式就成了。

0 0
原创粉丝点击