借助UML类图理解设计模式

最近发现设计模式的代码,边看边画类图,更容易理解:
下面是我参照设计模式之禅这本书,使用umLet工具画的类图
抽象工厂设计模式类图
此处的抽象工厂就是HumanFactory注明是个接口,但在实际应用中
也可以定义成一个抽象类,
简单的说这里我们是用工厂类来造人,
所以工厂类和人类之间存在依赖关系,
这一点也可以通过图中的HumanFactory和Human之间的依赖关系表明,此处抽象工厂就是HumanFactory
不同肤色的男性或女性人类则代表我们最终要生产出的产品,对照者这个类相信你可以快速的写出对应代码。
设计模式正真把java的接口,继承,依赖思想应用到我们写代码中了,
记得我们以前有个同事最喜欢用抽象工厂类+模版方法设计模式了,但是一开始不熟悉设计模式的我看他的代码,会觉得很难从整体框架上把握整个代码的脉络,学好设计模式,多画类图,有助于我们理解别人的代码,也有助于提高加深我们面向对象的认识,循序渐进的帮助我们写出好代码。
上传部分代码截图如下:
抽象工厂类代码截图:
抽象工厂类
具体工厂类类代码截图(此处具体工厂类有两个:
FemaleHumanFactory和MaleHumanFactory):
具体工厂类代码截图
场景测试类图代码截图:
场景测试类代码截图
对于Human接口和其抽象实现类的理解
Human接口
有没有注意到Human抽象类里没有显示看到有抽象的方法,你可能会纳闷,Human抽象类在实现Human接口时没有去实现getSex()方法,而这个getSex()方法在接口中本身就是抽象的,而是留给了后续具体的不同肤色的男性或女性Human类去实现了
Human抽象类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值