面向对象设计原则
- 单一原则:
- 每个对象只有一个单独的职责
- 高内聚,低耦合
- 开闭原则:
- 一个对象对扩展开放,对修改关闭
- 对类的改动是通过增加代码进行的,而不是修改现有的代码
- 里氏替换原则:
- 在任意父类出现的地方都可以用子类来替代
- 依赖注入原则:
- 要依赖于抽象,不要依赖于具体实现
- 基本思想:在开发中面向接口编程
- 接口分离原则:
- 一个接口不要提供太多的方法
- 迪米特原则:
- 一个对象对其他对象要尽可能少的了解
- 基本思想:低耦合
- 使用组合而不是继承的原则:
- 基本思想:在复用对象的时候,要优先考虑组合,而不是继承。因为父类的任何改变都会影响子类行为
设计模式的分类
- 创建型模式:创建对象
- 结构型模式:对象的组成及对象的关系
- 行为型模式:对象的行为(功能)
常用的设计模式
-
装饰模式:IO流中的Buffered缓冲区就是典型的装饰模式
-
简单工厂模式
-
工厂方法模式
-
单例模式:懒汉式,饿汉式;Runtime类是一个单例类
//饿汉式 class Singleton { //1,私有构造函数 private Singleton(){} //2,创建本类对象 private static Singleton s = new Singleton(); //3,对外提供公共的访问方法 public static Singleton getInstance() { return s; } } //懒汉式, 单例的延迟加载模式 class Singleton { //1,私有构造函数 private Singleton(){} //2,创建本类对象 private static Singleton s; //3,对外提供公共的访问方法 public static Singleton getInstance() { if(s == null){ s = new Singleton(); } return s; } } // 第三种 class Singleton { private Singleton() {} // final修饰的变量不可以被更改 public static final Singleton s = new Singleton(); }
-
观察者模式
-
代理模式
-
适配器模式
- 什么是适配器
- 在使用监听器的时候, 需要定义一个类事件监听器接口
- 通常接口中有多个方法, 而程序中不一定所有的都用到, 但又必须重写, 这很繁琐
- 适配器简化了这些操作, 我们定义监听器时只要继承适配器, 然后重写需要的方法即可
- 适配器原理
- 适配器就是一个类, 实现了监听器接口, 所有抽象方法都重写了, 但是方法全是空的
- 目的就是为了简化程序员的操作, 定义监听器时继承适配器, 只重写需要的方法就可以了
- 什么是适配器
-
模板设计模式
网友评论