如文章内图片无法展示, 注以下 hosts
# GitHub Start
140.82.112.25 alive.github.com
140.82.113.5 api.github.com
185.199.110.153 assets-cdn.github.com
185.199.108.133 avatars.githubusercontent.com
185.199.108.133 avatars0.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars3.githubusercontent.com
185.199.108.133 avatars4.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.108.133 camo.githubusercontent.com
140.82.114.22 central.github.com
185.199.108.133 cloud.githubusercontent.com
140.82.112.10 codeload.github.com
140.82.113.21 collector.github.com
185.199.108.133 desktop.githubusercontent.com
185.199.108.133 favicons.githubusercontent.com
140.82.112.4 gist.github.com
52.217.70.140 github-cloud.s3.amazonaws.com
52.217.43.116 github-com.s3.amazonaws.com
52.217.83.124 github-production-release-asset-2e65be.s3.amazonaws.com
52.217.9.180 github-production-repository-file-5c1aeb.s3.amazonaws.com
52.216.208.201 github-production-user-asset-6210df.s3.amazonaws.com
192.0.66.2 github.blog
140.82.114.3 github.com
140.82.114.18 github.community
185.199.109.154 github.githubassets.com
151.101.65.194 github.global.ssl.fastly.net
185.199.110.153 github.io
185.199.108.133 github.map.fastly.net
185.199.110.153 githubstatus.com
140.82.112.25 live.github.com
185.199.108.133 media.githubusercontent.com
185.199.108.133 objects.githubusercontent.com
13.107.42.16 pipelines.actions.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
13.107.238.51 vscode.dev
# GitHub End
# Linux Makefile
curl --output Makefile https://raw.githubusercontent.com/kjh123/blog/master/makefiles/InstallMakefile
# Go Makefile
curl --output Makefile https://raw.githubusercontent.com/kjh123/blog/master/makefiles/GoMakefile
设计模式目录
创建型
- 抽象工厂模式(Abstract Factory)
- 建造者模式(Builder)
- 工厂方法模式(Factory Method)
- 多例模式(Multiton)
- 对象池模式(Pool)
- 原型模式(Prototype)
- 简单工厂模式(Simple Factory)
- 单例模式(Singleton)
- 静态工厂模式(Static Factory)
结构型
- 适配器模式(Adapter)
- 桥梁模式(Bridge)
- 组合模式(Composite)
- 数据映射模式(Data Mapper)
- 装饰模式(Decorator)
- 依赖注入模式(Dependency Injection)
- 门面模式(Facade)
- 流接口模式(Fluent Interface)
- 享元模式(Flyweight)
- 代理模式(Proxy)
- 注册模式(Registry)
行为型
- 责任链模式(Chain Of Responsibilities)
- 命令行模式(Command)
- 迭代器模式(Iterator)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 空对象模式(Null Object)
- 观察者模式(Observer)
- 规格模式(Specification)
- 状态模式(State)
- 策略模式(Strategy)
- 模板方法模式(Template Method)
- 访问者模式(Visitor)
其他类型
设计模式的六大原则:PHP设计模式的六大设计原则
- 单一职责原则(Single):一个类只负责一个职责
- 开放封闭原则(Open):一个软件实体比如类/模块/函数,应该对扩展开放,对修改关闭
- 里氏替换原则(Liskov):所有引用基类的地方必须透明地使用其子类的对象,子类必须完全实现父类的方法,可以拓展自己的方法和属性,即子类可以扩展父类的功能,但是不能改变父类的原有功能
- 迪米特法则(Law):一个对象应该对其他对象保持最少的了解
- 接口隔离原则(Interface):类间的依赖应该建立在最小的接口上
- 依赖倒置原则(Dependence):高层模块不应该依赖底层模块,二者应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象