Skip to content

cr330326/DesignPattern

Repository files navigation

常见设计模式分享

1,什么是设计模式?

是对软件设计中普遍存在的各种问题,所提出的解决方案。目前比较让人熟知的是有23种设计模式。

2,设计模式6大原则

  • 开闭原则
  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特原则

开闭原则:一个软件实体如类,模块和函数应该对扩展开放,对修改关闭

单一职责原则:一个类负责一项职能,不要存在多个导致类变更的原因

里氏替换原则:所有引用基类的地方都必须能透明地使用其子类对象,子类可以扩展父类的功能,但不能改变原来父类的功能,充分利用继承

依赖导致原则:高层模块不应该依赖底层模块,两个都应该依赖抽象,抽象应该依赖细节,细节应该依赖抽象,简单来说,就是要面向接口编程

接口隔离原则:客户端不应该依赖它不需要的接口,一个类对另外一个类的依赖应该建立在最小的接口上,接口设计要合理,不要太臃肿,要适度

迪米特原则:一个对象应该对其他对象保持最少的了解,降低类的耦合度

简单介绍下常用的设计模式

  • 简单工厂模式。用一个单独的类来封装创造实例的过程,哪里有变化就封装哪里。
  • 工厂模式。定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
  • 抽象工厂模式。提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
  • 代理模式:为其他对象提供一种代理以控制对这个对象的访问。
  • 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
  • 观察者模式:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
  • 建造者模式:也称Build模式,将一个复杂对象的构建与它的表示分开,使得同样的构建过程可以创建不同的表示。
  • 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。

Android中应用场景

  • 单例模式:Android Studio中单例类模板,是通过内部静态类构造,或者我们平时写Application获取上下文的时候,全局配置这么一个实例类。
  • 代理模式:远程代理(AIDL),IPC跨进程通信,APP1与APP2进行通信,通过AIDL协议,然后生成相应的代码。
  • 简单工厂模式:Activity源码中,oncreate()方法内部实现情况
  • 观察者模式:第三方库EventBus内部实现原理。
  • 命令模式:事件中的onclickListener()点击操作。

About

常见的设计模式简单介绍

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages