Notes
Search…
Notes
Introduce
Go
Grammar
System Library
Concurrency in Go
The Go Memory Model
Rust
The Rust Programming Language
Rust by Example
JAVA
Preface
Grammar
Class Libraries
Concurrency
JVM
Web Container
Spring
Tuning
Computer Science
Computer Organization
Algorithm
Network Protocol
Operating System
Design Patterns
UML
OOP
Principle
Refactoring & Specification
Creational
Structural
Behavioral
Microservice
Distributed System
database
InfluxDB
MySQL
Redis
Elasticsearch
HBase
Kafka
ZooKeeper
MongoDB
Reading
RocketMQ
演说之禅
Other
v2ray
Kubernetes
Git
Maven
Anaconda And Conda
Fuck! Shit!
Open source contribution
Powered By
GitBook
Design Patterns
设计模式
(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
有四位在软件开发领域很有名的人出版了一本书《设计模式:可复用面向对象软件的基础》,一共收录了 23 种设计模式。这四个人常称为 GoF(Gang of Four)。23 种设计模式分类:
创建型
简单工厂
(不属于 GoF)
工厂方法
抽象工厂
生成器
原型
单例
结构型
适配器
桥接
组合
装饰
外观
享元
代理
行为型
责任链
命令
解释器
迭代器
中介者
备忘录
观察者
状态
策略
模板方法
,并与
Callback
做了比较。
访问者
创建型解决对象创建问题,将创建和使用代码解耦。
结构型解决类或对象的组合或组装问题,将不同功能的代码解耦。
行为型解决类或对象的交互问题,将不同行为的代码解耦。
学习设计模式需要先了解
UML
和一些
基本原则
。
当然除了 GoF 收录的 23 种设计模式,还有许多其它设计模式。比如
并发领域的一些设计模式
。
学习设计模式有很好好处:
应对面试
告别烂代码
提高复杂代码的设计和开发能力
读源码、学框架事半功倍
为职场发展做铺垫
平时我们评价代码质量的好坏有很多词语,我们最常用的标准有:
可维护性(maintainability)
可读性(readability)
可扩展性(extensibility)
灵活性(flexibility)
简洁性(simplicity)
可复用性(reusability)
可测试性(testability)
面向对象
由于具有丰富的特性,所以是设计原则、设计模式的编码实现基础。
设计原则
是知道我们代码设计的一些经验总结。
设计模式
是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。比设计原则更加具体、可执行。
编程规范
主要解决的是代码的可读性问题。
重构
作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论。
Previous
Monitor System
Next
UML
Last modified
2yr ago
Copy link