写点什么

架构师训练营 4 期 第 3 周

用户头像
引花眠
关注
发布于: 2021 年 01 月 17 日

架构师训练营 4 期 第 3 周

作业一:课后练习

  1. 请在草稿纸上手写一个单例模式的实现代码,拍照提交作业。



  1. 请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。



代码地址


作业二:根据当周学习情况,完成一篇学习总结、

什么是设计模式

  1. 设计模式是一种可重复使用的解决方法

  2. 每一种模式都描述了一种问题的通用解决方案。这种问题在我们的环境中,不停地出现


—个设计模式的四个部分:


  1. 模式名称(Pattern Name):每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。

  2. 问题(Problem):在面向对象的系统设计过程中反复出现的特定场合,它导致我们采用某个模式。

  3. 解决方案(Solution):上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。

  4. 效果(Consequence):采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负面的影响。


设计模式的划分

根据功能来分


  1. 创建模式(Creational Patterns) 对类的实例化过程的抽象。创建和使用的分离。

  2. 结构模式(Structural Patterns) 将类或者对象结合在一起形成更大的结构。

  3. 行为模式(Behavioral Patterns) 对在不同的对象之间划分责任和算法的抽象化。


根据方式来分


  1. 类模式 以继承的方式实现模式/静态的。

  2. 对象模式 以组合的方式实现模式,动态的。


设计模式与设计原则之间的关系

软件如果要实现可维护、可扩展,就必须尽量复用代码,并且降低代码的耦合度,而在面向对象设计原则中有以下原则:


  1. SRP Single Responsibility Principle:单一职责原则

  2. OCP Open Closed Principle:开闭原则

  3. LSP Liskov Substitution Principle:里氏替换原则

  4. ISP Interface Segregation Principle:接口隔离原则

  5. DIP Dependence Inversion Principle:依赖倒置原则


而设计模式就是基于这些原则对于解决特定问题方法的提炼,在学习设计模式的时候需要辨证的看待问题, 设计模式可能遵循某些设计原则,也可能破坏某些设计原则,比如简单工厂模式,可能对客户端满足开闭原则,但是对于工厂方法可能不满足,所以在实际需要的时候需要对其进行一些改造,比如通过配置文件等方式。


发布于: 2021 年 01 月 17 日阅读数: 15
用户头像

引花眠

关注

还未添加个人签名 2018.06.11 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 4 期 第3周