软件架构入门宝典:精选书籍推荐

前言

创作开始时间:2021年7月30日16:21:49

想系统学习一下软件设计(设计模式,架构,重构等等),所以看了几本相关书籍,并在此记录读书笔记。

1、《简约之美:软件设计之道》

软件架构入门书 软件架构设计书籍推荐_封装

  1. 软件设计不算科学(科学是必须能够分类的)
  2. 软件设计的目标是提高效率。
  3. 为什么计算机这么容易出问题?(崩溃、死机等)这一切与复杂性有关。不仅是软件复杂的问题,还是因为计算机本身就是复杂的。

1.1 软件设计的准则

  1. 不要编写不是必需的代码,并且要删除没有用到的代码。
  2. 设计程序时,应该根据你现在确切知道的需求,而不是你认为未来会出现的需求
  3. 仅仅根据目前确知的需求来考虑通用。

渐进式开发和设计可以实现上面三个准则!
顺序化开发,分而治之。

软件架构入门书 软件架构设计书籍推荐_封装_02


4. 简洁是相对的。

5. 代码保持一致。(如命名都用下划线写法)

6. 可读性。包含:命名,注释。
软件架构入门书 软件架构设计书籍推荐_封装_03

1.2 小结

软件架构入门书 软件架构设计书籍推荐_软件架构_04

2、《软件设计精要与模式》

软件架构入门书 软件架构设计书籍推荐_封装_05

2.1 软件架构

软件架构的定义:
软件架构入门书 软件架构设计书籍推荐_软件架构入门书_06


软件架构包含:

  1. 程序组织 (封装,抽象,分层,领域模型)
  2. 数据设计
  3. 安全性
  4. 性能
  5. 可扩展性(如面向对象 OOP)
  6. 可靠性
  7. 可用性

2.2 软件设计

软件设计的原则:

软件架构入门书 软件架构设计书籍推荐_封装_07


极限编程。

2.3 软件设计模式

23种设计模式。

2.4 通用(其他)

  1. 没有及时的更新文档有时候比没有文档给项目带来的负面影响更大
  2. 测试驱动开发
  3. UML

2.5 面向对象

  1. 核心三要素:封装,继承,多态
  2. 封装:数据的合理隐藏和公开
  3. 继承:重用和抽象的基础。极大减少代码冗余。
  4. 多态:有机地将封装(定义对象类型)、继承(定义不同类型之间的关系)和抽象(提供对象多态的能力)结合起来。

软件架构入门书 软件架构设计书籍推荐_软件设计_08

2.6 面向对象设计原则

  1. 单一职责原则(高内聚,细粒度)
  2. 开放封闭原则(对扩展开放,对修改封闭)(比如函数的参数是类,而不是基础类型)
  3. liskov替换原则(继承体系的规则,父类的功能子类都要有,完全遵循。)
  4. 依赖倒置原则
  5. 接口隔离原则(使用多个专门的接口)

2.7 封装变化

  1. 访问者模式,保证可扩展。

软件架构入门书 软件架构设计书籍推荐_软件设计_09

  1. 工厂方法模式

我的理解:以上实际上就是接口的使用,继承的使用。

  1. 后面还有很多,都看不懂了。先不记录。

2.8 体验重构

  1. 职责分离
  2. 引入基类(抽象类,不需要实例化)
  3. 引入设计模式

2.9 测试驱动开发

TDD

其他

还有很多章,不看了,差不多可以了。

3、《程序员必读之软件架构》

软件架构入门书 软件架构设计书籍推荐_软件架构_10

随便过了一下,感觉目前不太需要。

4、《LECTURE NOTES ON Course Code》

软件架构入门书 软件架构设计书籍推荐_软件架构_11

看上去还行,先余着。

5、《华为软件编程规范总则》

还是挺有参考价值的。对代码效率,变量、结构等都有相关指导。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空