/CodeZero

从0到1,一步一步迈向架构师之路

Primary LanguageJava

CodeZero

前言:从0到1,一步一步迈向架构师之路

[TOC]

简介

1.本项目代码都可以直接复制粘贴,即可运行调试,所以某些规范未严格遵守,主要是学习思路和方法

2.由于本人水平学识有限,内容可能有误,希望大家帮忙指出,我及时改正,感谢大家


1.设计模式学习系列

相关参考

https://refactoringguru.cn/design-patterns 带有主流语言的设计模式讲解

https://www.runoob.com/design-pattern/proxy-pattern.html 菜鸟教程的设计模式

https://github.com/shusheng007/design-patterns 秒懂设计模式系列

前言:SOLID六大原则+23种设计模式,几乎是每个程序员必学必会的内容,经典永流传,值得反复品味。

六大设计原则:

单一职责原则(SRP)

简单概括:一个类或者方法,职责尽量单一。用尽量简单的代码完成对应的功能即可,无需添加花里胡哨的东西。

开放封闭原则(OCP)

简单概括:对扩展开放,对修改关闭。添加新功能时,不要修改老功能,不能影响老代码。

里氏替换原则(LSP)

简单概括:一个子类实例在任何时刻都可以替换父类实例,从而形成IS-A关系。父类出现的地方,替换成子类,程序照样正常运行,要求子类不要重写父类已实现的方法。

接口隔离原则(ISP)

简单概括:实现类不应该依赖不需要的接口方法,采用多个专用的接口来替换单个复杂的总接口。接口职责划分单一。

依赖倒置原则(DIP)

简单概括:高层模块不应该依赖于底层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。面向接口编程,不要面向实现编程。

迪米特法则(LOD)

简答概括:一个对象应该对其他对象有最少的了解,不和陌生对象交流。类尽量少的依赖其他类,只和自己直接相关的类有使用。

设计模式一共23种,分为3个大类,创建型、结构型、行为型。

创建型(Creational Patterns)

名称 难度
工厂模式(Factory Method) 2星
抽象工厂模式(Abstract Factory) 4星
建造者模式(Builder) 2星
单例模式(Singleton) 1星
原型模式(Prototype) 2星

结构型(Structural Patterns)

名称 难度
适配器模式(Adapter) 1星
桥接模式(Bridge) 4星
组合模式(Composite) 3星
装饰器模式(Decorator) 2星
外观模式(Facade) 1星
享元模式(Flyweight) 4星
代理模式(Proxy) 3星

行为型(Behavioral Patterns)

名称 难度
责任链模式(Chain of responsibility) 1星
命令模式(Command) 3星
解释器模式(Interpreter)(几乎用不上,略过) 5星
迭代器模式(Iterator) 2星
中介者模式(Mediator) 3星
备忘录模式(Memento) 2星
观察者模式(Observer) 2星
策略模式(Strategy) 2星
状态模式(State) 3星
模板方法模式(Template method) 2星
访问者模式(Visitor) 5星

2.Linux相关

3.计算机

数据结构



4.编程语言相关

python