上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 适配器模式 适配器模式将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式的作用 系统的数据和行为都正确,但接口不符时,应该考虑使用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用与希望服用一些现存的 阅读全文
posted @ 2018-12-05 12:38 田错 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 状态模式 状态模式,当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 面向对象设计其实就是希望做到代码的责任分解。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 状态模式的好处 阅读全文
posted @ 2018-12-05 12:15 田错 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式 抽象工厂模式提供一个创建一系列相关或互相依赖的接口,而无需再指定他们具体的类。 最大的好处是易于交换产品系列,由于具体工厂类在一个应用中只需要在初始化的时候出现一次,这使得改变一个应用的具体工厂变得非常容易,他只需要改变具体工厂即可使用不同的产品配置。 他让具体的创建实例过程与客户端分 阅读全文
posted @ 2018-12-05 10:30 田错 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 图的概念 树中的元素称为节点,图中的元素称为作顶点Vertex。 图中的一个顶点可以与任意其他顶点建立连接关系,这种建立的关系叫作边Edge。 跟顶点相连接的边的条数叫作顶点的度Degree。 边有方向的图叫作有向图,边没有方向的图就叫作无向图。 无向图中度表示一个顶点有多少条边,在有向图中,把度分 阅读全文
posted @ 2018-12-04 20:39 田错 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 观察者模式 观察者模式又称发布-订阅模式,其定义了一种多对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能自动更新自己。 观察者模式的动机 将一个系统分割成一系列相互协作的类有一个很不好的副作用就是需要维护相关对象间的一致性。 我们不 阅读全文
posted @ 2018-12-03 12:57 田错 阅读(470) 评论(0) 推荐(1) 编辑
摘要: 堆的应用一:优先级队列 优先级队列首先应该是一个队列。队列最大的特性就是先进先出。但是在优先级队列中,出队顺序不是先进先出,而是按照优先级来,优先级最高的,最先出队。 用堆来实现优先级队列是最直接、最高效的。这是因为,堆和优先级队列非常相似。一个堆就可以看作一个优先级队列。很多时候,它们只是概念上的 阅读全文
posted @ 2018-12-02 19:30 田错 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 堆和堆排序 如何理解堆 堆是一种特殊的树,只要满足以下两点,这个树就是一个堆。 ①完全二叉树,完全二叉树要求除了最后一层,其他层的节点个数都是满的,最后一层的节点都靠左排列。 ②树中每一个结点的值都必须大于等于(或小于等于)其子树中每个节点的值。大于等于的情况称为大顶堆,小于等于的情况称为小顶堆。 阅读全文
posted @ 2018-12-02 18:01 田错 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 建造者模式又称生成器模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式主要用于创建一些复杂的对象,这些对象内部构构建间的构造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 建造者模式的好处就是使得建造代码与表示代码分离,由于建造者隐藏了 阅读全文
posted @ 2018-12-02 15:19 田错 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 外观模式 外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观系统完美的体现了依赖倒转原则和迪米特法则的思想,所以是非常常用的模式之一。 外观模式的使用时机 首先在设计初期阶段,应该要有意识地将不同的两个层分离,层与层之间建立外观Fac 阅读全文
posted @ 2018-12-02 12:46 田错 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式 定义一个操作中的算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。 模板方法模式是通过把不变的行为搬到超类,去除子类中的重复方法来体现它的优势。模板方法就是提供了一个很好的代码复用平台。 当不变的和可变的行为在方法的子类实现中 阅读全文
posted @ 2018-12-02 12:01 田错 阅读(213) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页