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

本文深入探讨Java工厂方法模式的应用,通过对比传统面向实现编程,阐述面向接口编程的优势。介绍了如何利用接口和抽象类实现代码的高内聚、低耦合,遵循开闭原则和单一职责原则。

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

ok,直接上代码

 

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

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

 

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

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

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

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

 

 

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

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

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值