![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java设计模式
Huangdroid
凡是从我手里出来的代码,终身保修
展开
-
Java设计模式之Builder模式
七大设计原则: 1、单一职责原则【SINGLE RESPONSIBILITY PRINCIPLE】:一个类负责一项职责. 2、里氏替换原则【LISKOV SUBSTITUTION PRINCIPLE】:继承与派生的规则. 3、依赖倒置原则【DEPENDENCE INVERSION PRINCIPLE】:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程. 4、接口隔离原则【INTERFACE SEGREGATION PRINCIPLE】原创 2017-02-15 15:59:41 · 359 阅读 · 0 评论 -
Java设计模式之策略模式
策略模式模式的定义策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。注:针对同一类型操作,将复杂多样的处理方式分别开来,有选择的实现各自特有的操作。模式的使用场景 针对同一类型问题的多种处理方式,仅仅是具体行为有差别时。 需要安全的封装多种同一类型的操作时。 出现同一抽象多个子类,而又需要使用if-else 或者 switch-原创 2017-02-15 16:10:41 · 250 阅读 · 0 评论 -
Java设计模式之代理模式
代理模式模式介绍代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。模式的使用场景就是一个人或者机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。角色介绍 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。 目标原创 2017-02-15 16:11:48 · 225 阅读 · 0 评论 -
Java设计模式之观察者模式
观察者模式首先在Android中,我们往ListView添加数据后,都会调用Adapter的notifyDataChanged()方法,其中使用了观察者模式。当ListView的数据发生变化时,调用Adapter的notifyDataSetChanged函数,这个函数又会调用DataSetObservable的notifyChanged函数,这个函数会调用所有观察者(AdapterDataSetOb原创 2017-02-15 16:12:22 · 256 阅读 · 0 评论 -
Java设计模式之简单工厂
简单工厂接口接口是一种特殊的抽象类,跟一般的抽象类相比,接口里的所有方法都是抽象方法,接口里的所有属性都是常量。也就是说接口里面只有方法定义没有任何方法实现。接口的思想是”封装隔离”简单工厂示例代码: https://github.com/GeniusVJR/DesignMode_Java/tree/master/SimpleFactory客户端在调用的时候,不但知道了接口,同时还知道了具体的实现原创 2017-02-15 16:12:45 · 279 阅读 · 0 评论 -
Java设计模式之适配器模式
适配器模式定义: 将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 功能: 进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。在适配器里实现功能,这种适配器称为智能适配器。 优点: 更好的复用性 更好的扩展性 缺点: 过多的使用适配器,会让系统非常零乱,不容易整体进行把握。 本质:转换匹配,复用功能。何时选用适配器模式:原创 2017-02-15 16:12:59 · 276 阅读 · 0 评论 -
Java设计模式之外观模式
外观模式定义为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的目的不是给子系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单的使用子系统。优缺点 优点 松散耦合 简单易用 更好的划分访问的层次 缺点 过多的或者是不太合理的Facade也容易让人迷惑。到底是调用Facade好还是直原创 2017-02-15 16:13:13 · 287 阅读 · 0 评论 -
Java设计模式之原型模式
原型模式模式介绍模式的定义用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。模式的使用场景 类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗; 通过 new 产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式; 一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用,即保护性拷贝。原创 2017-02-15 16:13:28 · 360 阅读 · 0 评论 -
Java设计模式之责任链模式
责任链模式模式介绍模式的定义一个请求沿着一条“链”传递,直到该“链”上的某个处理者处理它为止。模式的使用场景一个请求可以被多个处理者处理或处理者未明确指定时。原创 2017-02-15 16:14:07 · 334 阅读 · 0 评论 -
常见的面向对象设计原则
常见的面向对象设计原则 单一职责原则 SRP 一个类应该仅有一个引起它变化的原因。 开放关闭原则 OCP 一个类应该对外扩展开放,对修改关闭。 里氏替换原则 LSP 子类型能够替换掉它们的父类型。 依赖倒置原则 DIP 要依赖于抽象,不要依赖于具体类,要做到依赖倒置,应该做到: 高层模块不应该依赖底层模块,二者都应该依赖于抽象。 抽象不应该依赖于具体实现,具体实现应该依赖于抽象。 接口隔离原创 2017-02-15 16:11:04 · 209 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Singleton:负责创建Singleton类自己的唯一实例,并提供一个getInstance的方法,让外部来访问这个类的唯一实例。饿汉式: private static Singleton uniqueInstance = new Singleton(); 懒汉式 private static Sin原创 2017-02-15 16:09:37 · 286 阅读 · 0 评论