• 原型模式(Prototype)

    用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。

    设计模式 2021-12-30 15:17:53 浏览(3041) 阅读原文
  • 代理模式(Proxy)

    代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。 使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。

    设计模式 2021-12-30 15:16:55 浏览(2295) 阅读原文
  • 装饰模式(Decorator)

    通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。如果使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在保持真实对象的类结构不变的前提下,为其提供额外的功能,这就是装饰模式的目标。

    设计模式 2021-12-30 15:15:56 浏览(2920) 阅读原文
  • 抽象工厂模式(Abstract Factory)

    抽象工厂模式又称为Kit模式,属于对象创建型模式,是工厂方法模式的升级版,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。

    设计模式 2021-12-30 15:14:36 浏览(1961) 阅读原文
  • 工厂方法模式(Factory Method)

    工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延迟到子类中。

    设计模式 2021-12-30 15:13:33 浏览(2675) 阅读原文
  • 简单工厂模式(Simple Factory)

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。

    设计模式 2021-12-30 15:12:01 浏览(1919) 阅读原文
  • 依赖倒置原则(Dependence Inversion Principle)

    依赖倒置原则定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions)。其核心思想是:要面向接口编程,不要面向实现编程。

    设计模式 2021-07-24 16:29:21 浏览(2974) 阅读原文
  • 接口隔离原则(Interface Segregation Principle)

    2002 年罗伯特·C.马丁给“接口隔离原则”的定义是:客户端不应该被迫依赖于它不使用的方法(Clients should not be forced to depend on methods they do not use)。该原则还有另外一个定义:一个类对另一个类的依赖应该建立在最小的接口上(The dependency of one class to another one should depend on the smallest possible interface)。

    设计模式 2021-07-24 16:29:21 浏览(2168) 阅读原文
  • 里氏替换原则(Liskov Substitution Principle)

    里氏替换原则(Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(Data Abstraction and Hierarchy)里提出来的,她提出:继承必须确保超类所拥有的性质在子类中仍然成立(Inheritance should ensure that any property proved about supertype objects also holds for subtype objects)。

    设计模式 2021-07-24 16:29:21 浏览(3226) 阅读原文
  • 开放-封闭原则(Open Closed Principle)

    开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension,but closed for modification),这就是开闭原则的经典定义。

    设计模式 2021-07-24 16:29:21 浏览(2416) 阅读原文
  • 单一职责原则(Single responsiblility principle)

    单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,由罗伯特·C.马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)。

    设计模式 2021-07-24 16:29:21 浏览(2565) 阅读原文
  • 堆(Heap)

    堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。

    算法 2021-07-24 16:15:25 浏览(3793) 阅读原文
  • 二叉树(Binary Tree)

    二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。

    算法 2021-07-24 16:15:25 浏览(3958) 阅读原文
  • 树(Tree)

    树是计算机中非常重要的一种数据结构,使用树这种数据结构可以描述显示生活中很多事物,例如家谱图、单位的组织架构等等

    算法 2021-07-24 16:15:25 浏览(3516) 阅读原文
  • 符号表(Symbol Table)

    符号表(Symbol Table)是一个非常常见的数据结构,在现实生活中应用很多。它是一个“键”—“值”对应的结构。在符号表中,存储的是键值对。通过输入键,查询对应的值。

    算法 2021-07-24 16:15:25 浏览(6743) 阅读原文