设计模式简单总结 · 仲
前言
今天依然是设计模式的总结,至于没有更新新内容的原因我放在文末了,有兴趣的小伙伴去看下,看能否给你一些启示和思考。
想看设计模式总结的小伙伴继续直接看正文,我们今天依然是回顾四个设计模式,包括外观模式、模板方法模式、迭代器模式和组合模式,主要是相关模式的类图分享,详细内容可以参考之前的内容。
设计模式
外观模式
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

详细内容如下,可以点击回顾:

模板方法模式
模板方法模式在一个方法中定义了一个算法的骨架,而将这些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤的具体实现。


迭代器模式
在对象的集合之中游走,而不暴露集合的实现。迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的具体实现。
把游走的任务放在迭代器上,而不是聚合上,这样简化了聚合的接口和实现,也让责任各得其所。


组合模式
组合模式允许你将对象组合成树形结构来表现”整体/部分“层结构。组合模式能让客户以一致的方式处理个别对象以及对象组合。
使用组合结构,我们把相同的操作应用在组合和个别对象上。换句话说,在大多数情况下,我们可以忽略对象组合和个别对象之间的差别。


总结
最近一段时间一直在梳理自己的知识体系,主要有两方面的规划和考虑。一块是构建个人更完善的知识管理体系,确保个人知识管理更清晰;另一块就是个人专业知识学习路径的搜集整理。由于目前以上两块内容都比较零散,所以暂时技术更新方面的内容都比较零散,但是等一切逐步明了清晰之后,所有事情都会越来越好的……加油吧!
下面是关于这两件事暂时的成果,首先是个人知识库搭建的相关架构:

然后是目前在整理的进阶知识点,也就是后续会更新的内容:

同时还更新了java
的知识架构(目前效率有点低)

评论