设计模式

设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案

维护性【可读性、规范性】

面向对象(OO)—> 功能模块【设计模式+算法(数据结构)】—> 框架(使用到多种设计模式)—> 架构(服务器集群)

设计模式包含了面向对象的精髓,“懂了设计模式,就懂了面向对象分析和设计(OOA/D)的精要”

七大原则

单一职责原则

一个类应该只负责一项原则

单一职责原则注意事项和细节:

1.降低类的复杂度

2.提高类的可读性、维护性

3.降低变更引起的风险

4.只有类中方法足够少,可以在方法级别保持单一原则

接口隔离原则

客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上

里氏替换原则

在子类中尽量不要重写父类方法

继承让两个类的耦合性增强了,在恰当的情况下,可以通过聚合、组合、依赖来解决问题

依赖倒转原则

1.高层模块不应该依赖底层模块

2.抽象不应该依赖细节,细节应该依赖抽象

3.依赖倒转的中心思想是面向接口编程

4.设计理念:以抽象为基础搭建的架构比细节为基础的架构要稳定得多。在Java中,抽象指的是接口或抽象类,细节是具体的实现类

5.使用抽象类的目的是制定好规范,把任务交给实现类去完成

三种方式:通过接口传递实现依赖、通过构造方法传递依赖、通过setter方法传递

依赖倒转原则注意事项和细节:

1.底层模块尽量都要有抽象类和接口,或者二者都有,程序稳定性更好

2.变量的声明类型尽量是抽象类和接口,这样变量引用和实际对象间就存在一个缓冲层,利于程序扩展和优化

3.继承时遵循里式替换原则

开闭原则

编程中最基础最重要的设计原则

软件实体扩展开放、修改关闭

用抽象构建框架,用实现扩展细节

软件需要变化时,尽量扩展、减少修改

迪米特法则

类与类关系越密切,耦合度越大

又叫最少知道原则,一个类对自己依赖的类知道的越少越好

直接朋友:出现在成员变量、方法参数、方法返回值中的类

陌生的类最好不要以局部变量的形式出现在类的内部

避免出现非直接朋友关系的耦合

迪米特法则的核心:降低类的耦合

合成复用原则

尽量使用合成/聚合的方式,而不是使用继承

了解依赖、聚合、组合的区别

你可能感兴趣的:(设计模式)