# DesignMode **Repository Path**: inspin/DesignMode ## Basic Information - **Project Name**: DesignMode - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 设计模式(DesignPattern) ### 介绍 这是参照教程或文档写的设计模式相关代码,主要参考:[菜鸟教程](https://www.runoob.com/design-pattern) ### 为什么要学习设计模式 设计模式(Design pattern)代表了最佳实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。 这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 > 学习前人的经验,可以在开发道路上少走弯路 设计模式是一套被反复使用的、多数人知晓的,经过分类编目的、代码设计经验的总结。使用设计模式是为了 重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人都是多赢的,设计模式 使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地 解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式描述了一个在我们周围不断重复发生的问题, 以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。 ### 开发环境 + Android Studio + jdk1.8 ### 设计原则 * **开闭原则(Open Close Principle)** * **里式替换原则(Liskov Substitution Principle)** * **依赖倒置原则(Dependence Inversion Principle)** * **接口隔离原则(Interface Segregation Principle)** * **迪米特原则(Demeter Principle)** * **合成复用原则(Composite Reuse Principle)** > 详见[设计模式的六大原则](设计模式的六大原则.md) ### 设计模式列表 + **创建型模式(关注对象创建)** + [工厂模式(Factory Pattern)](app/src/main/java/com/dcw/lixb/designmode/factory) + [抽象工厂模式(Abstract Factory Pattern)](app/src/main/java/com/dcw/lixb/designmode/abstract_factory) + [单例模式(Singleton Pattern)](app/src/main/java/com/dcw/lixb/designmode/singleinstace) + [建造者模式(Builder Pattern)](app/src/main/java/com/dcw/lixb/designmode/builder) + [原型模式(Prototype Pattern)](app/src/main/java/com/dcw/lixb/designmode/prototype) + **结构型模式(关注类与对象的组合)** + [适配器模式(Adapter Pattern)](app/src/main/java/com/dcw/lixb/designmode/adapter) + [桥接模式(Bridge Pattern)](app/src/main/java/com/dcw/lixb/designmode/bridge) + [过滤器模式(Filter、Criteria Pattern)](app/src/main/java/com/dcw/lixb/designmode/filter) + [组合模式(Composite Pattern)](app/src/main/java/com/dcw/lixb/designmode/composite) + [装饰器模式(Decorator Pattern)](app/src/main/java/com/dcw/lixb/designmode/decorator) + [外观模式(Facade Pattern)](app/src/main/java/com/dcw/lixb/designmode/facade) + [享元模式(Flyweight Pattern)](app/src/main/java/com/dcw/lixb/designmode/flyweight) + [代理模式(Proxy Pattern)](app/src/main/java/com/dcw/lixb/designmode/proxy) + **行为型模式(关注对象之间的通信)** + [责任链模式(Chain of Responsibility Pattern)](app/src/main/java/com/dcw/lixb/designmode/chain_of_responsibility) + [命令模式(Command Pattern)](app/src/main/java/com/dcw/lixb/designmode/command) + [解释器模式(Interpreter Pattern)](app/src/main/java/com/dcw/lixb/designmode/interpreter) + [迭代子模式(Iterator Pattern)](app/src/main/java/com/dcw/lixb/designmode/iterator) + [中介者模式(Mediator Pattern)](app/src/main/java/com/dcw/lixb/designmode/mediator) + [备忘录模式(Memento Pattern)](app/src/main/java/com/dcw/lixb/designmode/memento) + [观察者模式(Observer Pattern)](app/src/main/java/com/dcw/lixb/designmode/observer) + [状态模式(State Pattern)](app/src/main/java/com/dcw/lixb/designmode/state) + [空对象模式(Null Object Pattern)](app/src/main/java/com/dcw/lixb/designmode/nullobj) + [策略模式(Strategy Pattern)](app/src/main/java/com/dcw/lixb/designmode/stragegy) + [模板方法模式(Template Pattern)](app/src/main/java/com/dcw/lixb/designmode/template) + [访问者模式(Visitor Pattern)](app/src/main/java/com/dcw/lixb/designmode/visitor)