软件开发设计思想与6大软件设计原则、23种设计模式目录-设计模式

目录

 

 

1、软件开发设计指导思想:

(1)可维护性Maintainability

(2)可复用性Reusability

(3)可扩展性Extensibility/Scalability

(4)灵活性flexibility/mobility/adaptability

2、设计原则

(1)单一职责原则Single Responsibility Principle

(2)开闭原则Open-Closed Principle

(3)里氏替换原则Liscov Substitution Principle

(4)依赖倒置原则Dependency Inversion Principle

(5)接口隔离原则Interface Segregation Principle

(6)迪米特法则Law of Demeter

3、23种设计模式列表

(1)创建型模式(creational)

         抽象工厂模式Abstract Factory

         工厂方法模式Factory Method

        构建者模式Builder

        原型模式Prototype

        单例模式Singleton

(2)结构型模式(structual)

        适配器模式Adapter

        桥接模式Bridge

        组合模式Composite

        装饰者模式Decorator

        外观模式Facade

        享元模式Flyweight

        代理模式Proxy

(3)表现型模式(behavioral)

        责任链模式Chain of Responsibility

        命令模式Command

        解释器模式Interpreter

        迭代器模式Iterator

        中介者模式Mediator

        备忘录模式Memento

        观察者模式Observer

        状态模式State

       策略模式Strategy

       模板方法Template Method

        访问者模式Visitor


 

 

1、软件开发设计指导思想:

(1)可维护性Maintainability

修改功能,需要改动的地方越少,可维护性越好

 

(2)可复用性Reusability

代码可以被以后重复使用

写出自己总结的类库

 

(3)可扩展性Extensibility/Scalability

添加功能无需修改原来代码

 

(4)灵活性flexibility/mobility/adaptability

代码接口可以灵活调用

 

2、设计原则

基于以上软件开发设计思想,具体派生出6大设计原则。基于这些原则,我们又会有一些设计模式、编码模板。

(1)单一职责原则Single Responsibility Principle

一个类只负责单一职责

高内聚、低耦合 

 

(2)开闭原则Open-Closed Principle

对扩展开放,对修改关闭

实现尽量不修改原来代码的情况下进行扩展

抽象化,多态是开闭原则的关键

 

(3)里氏替换原则Liscov Substitution Principle

所有使用父类的地方,必须能够透明的使用子类对象,子类可以透明替换父类

 

(4)依赖倒置原则Dependency Inversion Principle

依赖抽象,而不是依赖具体实现

面向抽象编程、面向接口编程

 

 

(5)接口隔离原则Interface Segregation Principle

每一个接口应该承担独立的角色,不干不该自己干的事

Flyable和Runnable不该合二为一

避免子类实现不需要实现的方法

需要对客户提供接口的时候,只需要暴露最小的接口

 

(6)迪米特法则Law of Demeter

一个对象应该对其他对象保持最少的了解,又叫最少知道原则。

尽量降低类与类之间的耦合。不要对外公开太多public方法,以及非静态的public方法

尽量使用private等访问权限  。 

 尽量不要和陌生人说话,强调只和朋友谈话。

 

       在迪米特法则中,对于一个对象,非陌生人包括以下几类:

            当前对象本身(this);

            以参数形式传入到当前对象方法中的对象

            当前对象的成员对象

           如果当前对象的成员对象是一个集合,那么集合中的元素也是朋友

           当前对象所创建的对象

 

3、23种设计模式列表

设计模式分为创建型模式(creational)、结构型模式(structual)、表现型模式(behavioral)。

完整代码在这里:

https://github.com/phs999/DesignPatterns/tree/dp_gamemodel/design_pattern

(1)创建型模式(creational)

         抽象工厂模式Abstract Factory

         工厂方法模式Factory Method

        构建者模式Builder

        原型模式Prototype

        单例模式Singleton

(2)结构型模式(structual)

        适配器模式Adapter

        桥接模式Bridge

        组合模式Composite

        装饰者模式Decorator

        外观模式Facade

        享元模式Flyweight

        代理模式Proxy

(3)表现型模式(behavioral)

        责任链模式Chain of Responsibility

        命令模式Command

        解释器模式Interpreter

        迭代器模式Iterator

        中介者模式Mediator

        备忘录模式Memento

        观察者模式Observer

        状态模式State

       策略模式Strategy

       模板方法Template Method

        访问者模式Visitor

你可能感兴趣的:(设计模式,Java,Java设计模式理解应用,设计模式,软件设计思想,软件设计法则,java)