博客专栏  >  编程语言   >  设计模式

设计模式

主要参考刘伟老师博客的精华内容,这里只是为了方便学习。更多详情内容参考刘伟老师的博客。

关注
0 已关注
28篇博文
  • Android-设计模式

    如果想在Android武林中独霸一方,那么设计模式则是必修的一门内功心法,关于设计模式的用途和为什么要学习设计模式网上很多大神已经说的很清楚了,这里就不在重复了。目录参考了 《史上最全设计模式导学目录...

    2016-01-25 10:49
    618
  • 编写稳定、灵活的程序——开闭原则

    什么是开闭原则1988年Bertrand Meyer(勃兰特·梅耶)出版了《面向对象软件构造》一书中提出了开闭原则。开闭原则的英文全程是Open Close Principle,缩写是OCP,其定义...

    2016-01-24 12:11
    620
  • 编写扩展性更好的程序——里氏替换原则

    什么是里氏替换原则里氏代换原则由2008年图灵奖得主、美国第一位计算机科学女博士Barbara Liskov教授和卡内基·梅隆大学Jeannette Wing教授于1994年提出。其严格表述如下:如果...

    2016-01-24 14:19
    670
  • 让项目拥有变化的能力——依赖倒置原则

    什么是依赖倒置原则如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C...

    2016-01-24 17:14
    677
  • 编写更灵活的系统——接口隔离原则

    什么事接口隔离原则接口隔离原则定义如下:接口隔离原则(Interface Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不...

    2016-01-25 10:21
    666
  • 编写松耦合的程序——迪米特原则

    什么是迪米特原则迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge...

    2016-01-25 14:43
    794
  • 确保对象的唯一性——单例模式

    什么是单例模式单例模式定义如下: 单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一...

    2016-01-26 11:11
    1700
  • 工厂三兄弟——简单工厂模式

    什么是简单工厂模式简单工厂模式并不属于GoF 23个经典设计模式,但通常将它作为学习其他工厂模式的基础,它的设计思想很简单,其基本流程如下:首先将需要创建的各种不同对象的相关代码封装到不同的类中,这些...

    2016-02-17 10:48
    322
  • 工厂三兄弟——工厂方法模式

    什么是工厂方法模式在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入...

    2016-02-17 11:45
    396
  • 工厂三兄弟——抽象工厂模式

    什么是抽象工厂模式抽象工厂模式为创建一组对象提供了一种解决方案。与工厂方法模式相比,抽象工厂模式中的具体工厂不只是创建一种产品,它负责创建一族产品。抽象工厂模式定义如下:抽象工厂模式(Abstract...

    2016-02-17 14:51
    431
  • 对象间的联动——观察者模式

    什么是观察者模式在软件系统中,一个对象的状态或行为的变化将导致其他对象的状态或行为也发生改变,它们之间将产生联动,正所谓“触一而牵百发”。为了更好地描述对象之间存在的这种一对多(包括一对一)的联动,观...

    2016-02-18 14:04
    626
  • 算法的封装与切换——策略模式

    什么是策略模式在策略模式中,我们可以定义一些独立的类来封装不同的算法,每一个类封装一种具体的算法,在这里,每一个封装算法的类我们都可以称之为一种策略(Strategy),为了保证这些策略在使用时具有一...

    2016-02-19 10:47
    1472
  • 设计模式——状态模式

    什么是状态模式状态模式用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将...

    2016-02-20 12:39
    519
  • 请求的链式处理——责任链模式

    什么是责任链模式职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并让请求沿...

    2016-02-22 10:57
    1437
  • 请求发送者与接收者解耦——命令模式

    什么是命令模式在软件开发中,我们经常需要向某些对象发送请求(调用其中的某个或某些方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,此时,我们特别希望能够以一种松耦合的方式来设计软件,使...

    2016-02-23 10:57
    451
  • 编程的好帮手——代理模式

    什么是代理模式代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口...

    2016-02-24 10:36
    329
  • 树形结构的处理——组合模式

    什么是组合模式对于树形结构,当容器对象(如文件夹)的某一个方法被调用时,将遍历整个树形结构,寻找也包含这个方法的成员对象(可以是容器对象,也可以是叶子对象)并调用执行,牵一而动百,其中使用了递归调用的...

    2016-02-25 10:34
    794
  • 协调多个对象之间的交互——中介者模式

    什么是中介者模式如果在一个系统中对象之间的联系呈现为网状结构,如下图图所示。对象之间存在大量的多对多联系,将导致系统非常复杂,这些对象既会影响别的对象,也会被别的对象所影响,这些对象称为同事对象,它们...

    2016-02-26 11:25
    767
  • 统一编程接口——外观模式

    什么是外观模式外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便...

    2016-02-27 12:35
    678
  • 遍历聚合对象中的元素——迭代器模式

    什么是迭代器模式在软件开发中,我们经常需要使用聚合对象来存储一系列数据。聚合对象拥有两个职责:一是存储数据;二是遍历数据。从依赖性来看,前者是聚合对象的基本职责;而后者既是可变化的,又是可分离的。因此...

    2016-02-28 12:05
    463

Android单排
2531142
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部