- 包括23种经典设计模式不同语言详解,结合实际场景,详细注释说明。每一行代码都经过检验,确保可靠。
- 采用流行的语言,包括C/Java/JavaScript/Python/TypeScript/Go等,尊重语言特性。
- 包含各种架构与设计思想,不断完善和补充,打造编程思想与架构设计的资源库。
-
工厂模式(Factory Pattern) ,由工厂类提供统一的创建对象的方法。 C |Java | JavaScript | Python | TypeScript | Go
-
抽象工厂模式(Abstract Factory Pattern) ,是一个超级工厂,用来创建其他工厂方法。 C | Java | JavaScript | Python | TypeScript | Go
-
原型模式(Prototype Pattern) ,利用clone()复制已有对象的实例。 C | Java | JavaScript | Python | TypeScript | Go
-
建造者模式(Builder Pattern) ,利用多个简单对象逐步构建一个复杂对象,类似建造房子。 C | Java | JavaScript | Python | TypeScript | Go
-
单例模式(Singleton Pattern) ,保证创建的类只有一个实例,并提供一个访问该实例的全局节点。 C | Java | JavaScript | Python | TypeScript | Go
-
适配器模式(Adapter Pattern) ,为两个不兼容的接口提供专门兼容方案。 C | Java | JavaScript | Python | TypeScript | Go
-
桥接模式(Bridge Pattern) ,将类拆分为抽象和实现两个独立的层次结构进行解耦。 C | Java | JavaScript | Python | TypeScript | Go
-
组合模式(Composite Pattern) ,依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。 C | Java | JavaScript | Python | TypeScript | Go
-
装饰器模式(Decorator Pattern) ,将对象放入到一个特殊封装的对象中,赋予其新的能力。 C | Java | JavaScript | Python | TypeScript | Go
-
外观模式(Facade Pattern) ,给现有的系统添加一个高层接口,隐藏子系统的复杂性。 C | Java | JavaScript | Python | TypeScript | Go
-
享元模式(Flyweight Pattern) ,通过共享多个对象的相同状态,让有限的内存容量载入更多对象。 C | Java | JavaScript | Python | TypeScript | Go
-
代理模式(Proxy Pattern) ,用一个类来代理另一个类或几个类的功能。 C | Java | JavaScript | Python | TypeScript | Go
-
过滤器模式(Filter Pattern) ,使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来。 C | Java | JavaScript | Python | TypeScript | Go
-
策略模式(Strategy Pattern) ,将每一个算法策略封装到接口中,根据需要设定策略,使具体实现和策略解耦。 C | Java | JavaScript | Python | TypeScript | Go
-
观察者模式(Observer Pattern) ,当主题对象的状态发生改变时,所有依赖对象都得到通知并被自动更新。 C | Java | JavaScript | Python | TypeScript | Go
-
迭代器模式(Iterator Pattern) ,给数据对象构建一套按顺序访问集合对象元素的方式。 C | Java | JavaScript | Python | TypeScript | Go
-
模板方法模式(Template Method Pattern) ,定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中。 C | Java | JavaScript | Python | TypeScript | Go
-
责任链模式(Chain of Responsibility Pattern) ,为请求创建了一个接收者对象的链,请求沿着处理者链进行发送和处理。 C | Java | JavaScript | Python | TypeScript | Go
-
命令模式(Command Pattern) ,把请求以命令的形式包裹在对象中,并传给调用对象。 C | Java | JavaScript | Python | TypeScript | Go
-
备忘录模式(Memento Pattern) ,将对象的状态捕捉住,并以备忘录的形式存储起来,以便合适的时候还原。 C | Java | JavaScript | Python | TypeScript | Go
-
状态模式(State Pattern) ,类的行为是基于它的状态改变的,不同的状态下有不同的行为。 C | Java | JavaScript | Python | TypeScript | Go
-
访问者模式(Visitor Pattern) ,封装访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。 C | Java | JavaScript | Python | TypeScript | Go
-
中介者模式(Mediator Pattern) ,它用一个中介对象来封装一系列的动作,以让对象之间进行交流。 C | Java | JavaScript | Python | TypeScript | Go
-
解释器模式(Interpreter Pattern) ,实现了一个表达式接口,并能解释特定的上下文里面的变量和语句。 C Java | JavaScript | Python | TypeScript | Go
是一种以事物为中心的编程思想,描述程序的每个步骤。主要关注“怎么做”。
是一种以对象为基础的编程思想,万物以类聚,确定每个类的职责。主要关注“谁来做”。 封装(Encapsulation) | 继承(Inheritance) | 组合(Composition) | 多态(Polymorphism)
以函数作为一等公民的编程思想,通过纯函数和函数组合来构建程序。描述”做什么”,而不是“怎么做”。
通过预编译和动态插入,将代码挂载到类的指定方法、指定位置上,以便实现业务与基础功能的解耦。
核心思想是程序的执行流程由事件来驱动,即程序通过监听和响应事件来执行每一个步骤。
是一种面向数据流和变化传播的编程范式。响应式编程通常会用在事件流相场景中,一旦触发一个事件,后续的事件会被依次触发。
欢迎共建 Welcome to join
- Wechat: springbuild
- QQ: 12263539
- Mail: [email protected]