我和工厂模式的偶遇

敝人久仰设计模式之大名,曾仰望深久,有心学之而不得要领,今日在一GIS系统中偶见工厂模式踪迹,一路尾随,终见芳容,以为实际之中得见设计模式为有意义之事,并捎带疑难不懂问题,记之。

 

 

问题提出:

 

当实例化一个类时,如果需要做一定得初始化工作,首先想到的是构造方法;其次用一下代码也可以达到目的,称之“工厂模式”。

 

    public static Scope getScope(Point Center,int layer) {

        setHeightWidth(layer);

        int maxX = Center.getX()+ WIDTH/2;

        int maxY = Center.getY()+ HEIGHT/2;

        int minX = Center.getX()- WIDTH/2;

        int minY = Center.getY()- HEIGHT/2;

        Scope scope = new Scope(maxX, maxY, minX, minY);

        return scope;

    }

 

Scope实例化时,需要对其域进行初始化工作,上述代码,使用了工厂模式。

 

 

关于“工厂模式”优点:

如果将大段初始化代码放进构造函数,有悖于JAVA面向对象原则。

而采用“工厂模式”将长的代码进行切割,封装,这样将分散风险,以后需要修改,只需要修改每段,不会牵一动百;

在有继承关系的类中,不涉及到父类的具体子类,达到封装效果,也就减少错误修改的机会

 

红色字体,不得理解,望前辈有缘之人给与解答,谢谢

 

                  参考BAIDU百科“工厂模式”

阅读更多
个人分类: Java基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭