
设计模式
文章平均质量分 80
xyzso1z
这个作者很懒,什么都没留下…
展开
-
访问者模式
1.访问者模式介绍访问者模式的基本想法是,软件系统中拥有一个有许多对象构成的、比较稳定的对象结构,这些对象的累都拥有一个accept方法用来接受访问者对象的访问。访问者是一个接口,它拥有一个visit方法,这个方法对方问到的对象结构中不同类型的元素作出不同的处理。在对象结构的一次访问过程中,我们遍历整个对象结构,对每一个元素都实施accept方法,在每一个元素的accept方法中会调用访问者的...原创 2018-10-18 19:55:25 · 160 阅读 · 0 评论 -
单例模式
1.单例模式单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为...原创 2019-02-20 23:58:50 · 3899 阅读 · 0 评论 -
抽象工厂模式
1.抽象工厂模式介绍抽象工厂模式(Abstract Factory Pattern),也是创建型设计模式之一。大家联想一下现实生活中的工厂肯定都是具体的,那么抽象工厂意味着生产出来的产品是不是确定的,那这岂不是很奇怪?抽象工厂模式起源于以前对不同操作系统的图形化解决方案,如不同的操作系统中的按钮和文本框控件其实现不同,展示效果也不一样,对于每一个操作系统,其本身就构成一个产品类,而按钮与文本...原创 2019-02-28 02:27:51 · 294 阅读 · 0 评论 -
创建型模式
创建型模式有五种具体的模式,分别为:单例模式 原型模式 建造模式(Builder模式)工厂方法模式抽象工厂模式对比:模式定义使用场景单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例确保某各类有且只有一个对象的场景原型模式用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象1.类初始化需要消耗非常多的资源;2.通过...原创 2019-02-28 14:53:02 · 187 阅读 · 0 评论 -
使程序运行更高效——原型模式
1.原型模式介绍原型模式是一个创建型的模式。原型二字表明了该模式应该有一个样板实例,用户从这个样板对象中复制出一个内部属性一致的对象,这个过程也就是我们俗称的“克隆”。被复制的实例就是我们所称的“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者者构造耗时的实例,因为这种情况下,复制一个已经存在的实例可使程序运行更高效。2,原型模式的定义用原型实例制定创建对象的种类,并通过拷贝...原创 2019-02-23 20:00:28 · 300 阅读 · 0 评论 -
自由扩展你的项目——Bulider模式
1.Builder模式介绍Bulider模式是一步一步创建一个复杂对象的创建一个复杂的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程和部件的表示隔离开来。因为一个复杂的对象有很多大量组成部分,如汽车,有车轮、方向盘、发动机,还有各种小零件等,如何将这些部分装配成一辆汽车,这个装配过程很漫长,也...原创 2019-02-25 23:47:14 · 346 阅读 · 0 评论 -
应用最广泛的模式——工厂方法模式
1.工厂方法模式介绍工厂方法模式(Factory Pattern),是创建型吗设计模式之一。工厂方法模式是一种结构简单的模式,其在我们平时开发中应用广泛,也许你并不知道,但是你已经能够使用了无数次该模式了,如Android中的Activity里的各个生命周期方法,以OnCreate方法为例它就可以看做是一个工厂方法,我们在其中可以构造我们的View并通过setContentView返回给fr...原创 2019-02-27 23:16:09 · 255 阅读 · 0 评论 -
MVVM、MVC及MVP
1.MVVM MVC是Mode-View-ViewModel,模型指的是后端传递的数据,视图是所看到的页页面、视图模型是MVVM模式核心,它是连接View和Model的核心,它是连接View和Model的桥梁,它有两个方向:一是将模型转化成视图,即将后端传递的数据转化成所看到了页面,实现的方式是:数...原创 2019-07-06 16:35:09 · 581 阅读 · 0 评论 -
连接两地的交通枢纽——桥接模式
1.桥接模式介绍 桥接模式(Bridge Pattern)也称为桥梁模式,是结构型设计模式之一。在现实生活中大家都知道“桥梁”是连接河道两岸的主要交通枢纽,简而言之其作用就是连接河的两边,而我们的桥接模式与现实中的情况很相似,也是承担着连接“两边”的作用。2.桥接模式的定义 &nb...原创 2019-06-30 04:12:20 · 446 阅读 · 0 评论 -
走向灵活软件之路———面向对象的六大原则
1.优化代码的第一步——单一职责原则单一职责原则的英文名称是Single Responsibility Principle,缩写是SRP.SRP的定义是:就要给类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。2.让程序更稳定、更灵活——开闭原则开闭原则的英文全称是Open Close Principle,缩写是OCP,它是Java世界里...原创 2019-01-21 23:05:04 · 191 阅读 · 0 评论 -
外观模式——统一编程接口
1.外观模式介绍 外观模式(Facede)在开发过程中的运用频率非常高,尤其是在现阶段各种第三方SDK充斥在我们的周边,而这些SDK很大概率会使用外观模式。通过一个外观类使得整个系统的接口只有一个统一的高层接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节。当然,在我们的开发过程中外观模式...原创 2018-12-05 20:22:17 · 468 阅读 · 0 评论 -
享元模式——对象共享,避免创建多对象
1. 享元模式介绍 享元模式是对象池的一种实现,它的英文名称叫做Flyweight,代表轻量级的意思。享元模式用来尽可能减少内存使用量,他适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存溢出等。 &...原创 2018-12-04 20:25:16 · 436 阅读 · 0 评论 -
模板方法模式
1.模板方法模式介紹在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需要的关键步骤,并且确定了这些步骤的执行顺序,但是,某些步骤的具体实现是未知的,或者说某些步骤地实现是会随着环境的变化而改变的,例如,执行程序的流程大致如下:检查代码的正确性; 链接相关的类库; 编译相关代码; 执行程序;对于不同的程序设计语言,上述4个步骤都是不一样的,但是,他们的执行流程是固定...原创 2018-10-17 16:08:18 · 167 阅读 · 0 评论 -
中介者模式
1.中介者模式的定义中介者模式包装了一系列对象相互作用的方式,是的这些对象不必相互明显作用。从而使它们可以松散耦合。当某些对象之间的作用发生变化时,不会立即影响其它的一些对象之间的作用。保证这些作用可以彼此独立的变化。中介者模式将多对多的相互作用转化为一对多的相互作用。终结者模式将对象的行为和写作抽象化,把对象在小尺度的行为上与其他对象的相互作用分开处理。2.中介者模式的使用场景当对象...原创 2018-10-21 18:03:55 · 306 阅读 · 0 评论 -
组合模式
1.组合模式介绍组合模式也称为部分整体模式,结构型设计模式之一,组合模式比较简单,他将一组相似的对象看作一个对象处理,并根据一个书状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差别。生活中比较典型的例子就是组织结构的树状图,如图:上面是一个公司的组织结构树状图,其中总公司下有行政部和研发部,但是从总公司的角度来看子公司就是一个独立的个体,与总公...原创 2018-11-15 18:50:07 · 217 阅读 · 0 评论 -
代理模式
1.代理模式的定义为其他对象提供一种代理以控制对这个对象的访问。2.代理模式的使用场景当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端的透明性,委托对象与代理对象需要实现相同的接口。3.代理模式的UML类图角色介绍:Subject:抽象主题类。 该类主要职责是声明真实主题与代理的共同接口方法,该类既可以是一...原创 2018-11-12 15:59:28 · 977 阅读 · 0 评论 -
状态模式
1.状态模式介绍         状态模式中行为是由状态来决定的,不同的状态下有不同的行为。状态模式和策略模式的结构几乎完全一样,但它们的目的、本质却完全不一样。状态模式的行为是平行的、不可替换的,策略模式的行为是彼此独立、可相互替换的。用一句话来表述,状态模式把对象的行为包装在不同的状态对原创 2018-11-20 18:27:10 · 314 阅读 · 0 评论 -
策略模式与状态模式
类图对比策略模式:状态模式:       两种模式的类图基本是一样的,即代码结构一样,即都 1个接口+N个实现类 +1个上下环境类。把为什么还要划分为两种模式呢?首先看看两者的定义:策略模式状态模式原创 2018-11-21 14:24:43 · 864 阅读 · 0 评论 -
策略模式
1.策略模式介绍    在软件开发中经常会遇到这样的情况:实现某一个功能可以有多种算法或策略,我们根据实际情况选择不同的算法或策略来完成该功能。例如,排序算法,可以使用插入排序、归并排序、冒泡排序等。  &nbs原创 2018-11-19 18:26:33 · 250 阅读 · 0 评论 -
适配器模式
1.适配器模式介绍       适配器模式在我们的开发中使用率极高,从代码中随处可见的Adapter就可以判断出来。从最早的ListView、GridView到现在最新的RececleView都需要使用Adapter,并且在开发中我们遇到的 优化问题、出错概率较大的地方也基本都出自Adapter,这是一个让人又爱又恨的角色。&n原创 2018-11-19 19:41:27 · 182 阅读 · 0 评论 -
装饰模式
1.装饰模式 装饰模式(Decorator Pattern)也称为包装模式(Wrapper Pattern),结构型设计模式之一,其使用一种对客户端透明的方式来动态地扩展对象的功能,同时它也是继承关系的一种替代方案之一。在现实生活中你也可以看见很多装饰模式的例子,或者可以大胆地说出装饰模式无处不在,...原创 2018-11-29 15:39:39 · 519 阅读 · 0 评论 -
结构型模式
1.结构型模式有5种具体的模式外观模式装饰模式代理模式桥接模式适配器模式原创 2019-06-30 14:46:47 · 157 阅读 · 0 评论