设计模式宏观-系统学习五

简介: 武侠中有修炼内功和外功之分;程序界也有,而设计模式就是程序界的内功心法之一;我们在写框架或者工程的时候都要尽可能的遵循设计原则,设计模式则是在不同场景下的具体应用。

一、背景介绍


武侠中有修炼内功和外功之分;程序界也有,而设计模式就是程序界的内功心法之一;我们在写框架或者工程的时候都要尽可能的遵循设计原则,设计模式则是在不同场景下的具体应用。


阅读这篇文章您会了解到小编在进行设计模式宏观学习过程中的思路、总结以及产生的问题,希望能够和读者碰撞出更多的"车祸"。


二、学习思路


1.查阅设计模式的由来以及发展史

2.寻找5本以上讲解设计模式书籍(小编本次找了8本,具体书在本文的最后参考资料中)

3.将所有的书大致阅读一遍并绘制宏观的导图(每本书25分钟)

4.寻找2本自己感觉通俗易懂并且有趣的书(小编找的大话设计模式和刘伟的设计模式)

5.按照宏观的导图将每个模式都进行UML类图和代码的编写(按照需求绘制图、根据图写代码)


三、学习过程


1.百度百科模式查阅:软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

2.百度寻找相关电子书籍,也买了一些纸质书籍

3.宏观图


20210607140624215.png


4.小编是按照创建型——结构型——行为型进行的UML类图绘制以及代码的编写(限于篇幅,下面只展示了UML图相信读者学习了《UML六大关系》可以结合图自己实践出来代码的)


20210607140726120.png

20210607141042992.png

20210607141053293.png


5.扩展,类、抽象类、接口区别和理解:

5.1.类是对对象的抽象;抽象类是对类的抽象;接口是对行为的抽象

5.2.抽象类是自底而上抽象出来的;接口则是自顶向下设计出来的

5.3.如果行为跨越不同类的对象,可使用接口;对于一些类似的类对象,用继承抽象类

5.4.从设计角度,抽象类是从子类发现了公共的东西,泛化出父类,然后子类继承父类;而接口是根本不知道子类的存在,方法如何实现还不确认,预先定义


四、学习总结


收获:

1.有了历史了解更加明确了设计模式的重要性

2.多本书查阅发现每本书对于模式讲解的侧重都有所不同,体会理解作者的思考

3.根据宏观导图来手敲每个模式,冥冥之中每个模式又都有些许的关联,详细的内外在关联会在后面博文中做相关说明

4.深入学习了UML六大关系,再根据UML类图转换代码的过程中是如此的简单


提出的问题:

1.为什么要分为创建型、结构型、行为型?他们三类之间的关系是什么?

2.针对于每一个场景对应模式的出现她的历史意义是什么?

3.三个类型中各自包含的模式之间的关系是什么?

4.每个模式的充要条件是什么?

5.每个模式都实现了七大原则的那些原则?


五、升华


体会验证着公理+逻辑带来的美妙;解开一个个逻辑上的困惑的时候恍然发现学习还可以这么有趣。


参考资料:大话设计模式、java设计模式-刘伟、设计模式:可复用面向对象软件的基础、headfirst设计模式、Java设计模式第2版中文版、-设计模式那点事、设计模式之禅、架构整洁之道(clean Architecture)-Robert C.Martin

相关文章
|
7月前
|
设计模式
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
117 1
|
18天前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
7月前
|
设计模式 监控 安全
多线程设计模式【多线程上下文设计模式、Guarded Suspension 设计模式、 Latch 设计模式】(二)-全面详解(学习总结---从入门到深化)
多线程设计模式【多线程上下文设计模式、Guarded Suspension 设计模式、 Latch 设计模式】(二)-全面详解(学习总结---从入门到深化)
119 0
|
4月前
|
设计模式 存储 前端开发
揭秘.NET架构设计模式:如何构建坚不可摧的系统?掌握这些,让你的项目无懈可击!
【8月更文挑战第28天】在软件开发中,设计模式是解决常见问题的经典方案,助力构建可维护、可扩展的系统。本文探讨了.NET中三种关键架构设计模式:MVC、依赖注入与仓储模式,并提供了示例代码。MVC通过模型、视图和控制器分离关注点;依赖注入则通过外部管理组件依赖提升复用性和可测性;仓储模式则统一数据访问接口,分离数据逻辑与业务逻辑。掌握这些模式有助于开发者优化系统架构,提升软件质量。
61 5
|
6月前
|
设计模式 存储 算法
设计模式学习心得之五种创建者模式(2)
设计模式学习心得之五种创建者模式(2)
47 2
|
6月前
|
设计模式 uml
设计模式学习心得之前置知识 UML图看法与六大原则(下)
设计模式学习心得之前置知识 UML图看法与六大原则(下)
45 2
|
5月前
|
设计模式 存储 缓存
Java面试题:结合设计模式与并发工具包实现高效缓存;多线程与内存管理优化实践;并发框架与设计模式在复杂系统中的应用
Java面试题:结合设计模式与并发工具包实现高效缓存;多线程与内存管理优化实践;并发框架与设计模式在复杂系统中的应用
61 0
|
6月前
|
设计模式 安全 Java
设计模式学习心得之五种创建者模式(1)
设计模式学习心得之五种创建者模式(1)
40 0
|
6月前
|
设计模式 数据可视化 程序员
设计模式学习心得之前置知识 UML图看法与六大原则(上)
设计模式学习心得之前置知识 UML图看法与六大原则(上)
47 0
|
7月前
|
设计模式 安全 Java
【JAVA学习之路 | 基础篇】单例设计模式
【JAVA学习之路 | 基础篇】单例设计模式