借助UML类图理解设计模式

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

你可能感兴趣的:(設計模式)