咸鱼engineer之java 设计模式-工厂方法模式

平时大家在工作中多多少少有写过一些工厂方法,但是如果不了解设计模式的话可能不会知道具体有什么区别,下面本菜鸟给大家分享下我的理解。java的工厂方法模式其实就将我们需要变的method给抽象出来 ,让实现可以得到延迟,体现Java的多态性

ok,直接上代码

ok 这种写法是比较简单的,但是这种写法有一些问题。第一他不高级,第二它不符合开闭原则和单一职责原则

当我们需要穿件多个Product 时,每次都need 改动Application里的代码 代码侵入比较高,是传统的面向实现编程

ok,当我们需要创建多个Product 时,我们就会想到将product 做成接口类 做如下改进:

注意这种写法也只是一种编程思想 ,将需要变动的class 做成interface 是面向接口的编程,但其实这个还不是设计模式,还存在一些问题

比如这个地方我们使用传参的方式去创建不同对象,其实是比较low 的写法 ,如果再来一个对象,咋还得再加一个类型,代码侵入性很高

那么我们如何解决加一个新得对象得时候不会对原有代码做改动呢。ok go on。。。。。。。

这种写法相当于将我们将整个工厂给抽象化了,这个Application2 可以有共有逻辑,也可以不同得产品实现,当我们外层需要创建对象时

only need new 实现类就ok了,真正意义上得面向接口编程。ok,这是小编得个人理解,有什么建议可以相互交流奥~~

发布了5 篇原创文章 · 获赞 2 · 访问量 79

猜你喜欢

转载自blog.csdn.net/huanglei_hacker/article/details/105326272