算法的时间和空间复杂度 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。 那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 ...
分类:
编程语言 时间:
2019-02-18 19:12:24
阅读次数:
176
概念 Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 对象的创建:Builder模式是为对象的创建 ...
分类:
其他好文 时间:
2019-02-09 21:04:36
阅读次数:
191
1. 装饰者模式 动态地给一个对象添加一些额外的职责。就增加功能来说, Decorator模式相比生成子类更为灵活,而且能解决继承子类爆炸问题。 参与者 1.Component(被装饰对象的基类) 定义一个对象接口,可以给这些对象动态地添加职责。 2.ConcreteComponent(具体被装饰对 ...
分类:
其他好文 时间:
2019-02-09 19:11:48
阅读次数:
190
前言 简单工厂模式,工厂方法模式,抽象工厂模式,这三个模式,当然还有单例模式,建造者模式等等,应该是日常工作中常用的,尤其是工厂模式,应该是最最常见的模式,对理解面向对象有重要的实际意义。 简单工厂模式 最简单,最直接,能满足大部分日常需求,不足是工厂类太简单——无法满足开闭原则,对多个产品的扩展不 ...
分类:
其他好文 时间:
2019-02-06 14:33:43
阅读次数:
160
建造者模式(Builder Pattern) 它可以将多个简单的对象一步一步构建成一个复杂的对象。 在我们实际编程开发过程中需要调用许多前人已经写好的类或接口来完善我们某些特殊的需求,这就好比我们去餐馆里吃饭(开发),点了一桌合家欢套餐(需求),桌上的饭菜里面必定有肉食,蔬菜类,主食,汤类等等(po ...
分类:
其他好文 时间:
2019-02-02 11:19:03
阅读次数:
198
一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 ...
分类:
其他好文 时间:
2019-01-28 20:18:38
阅读次数:
173
个人公众号原文: "创建型模式:建造者模式" 五大创建型模式之四:建造者模式。 简介 姓名 :建造者模式 英文名 :Builder Pattern 价值观 :专治丢三落四 个人介绍 : Separate the construction of a complex object from its re ...
分类:
其他好文 时间:
2019-01-26 12:31:48
阅读次数:
214
Builder Pattern 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 结构: Builder:抽象建造者 ConcreteBuilder:具体建造者 Director:指挥者 Product:产品角色 ● Builder(抽象建造者):它为创建一个产品Pr ...
分类:
其他好文 时间:
2019-01-23 15:41:17
阅读次数:
229
我发现很多源码很喜欢用这个模式,比如spring cloud,spring framework。 建造者模式(Builder)用以构建各种各样的对象,主要功能就是代替对象的构造函数,更加自由化。 举个栗子,先假设有一个问题,我们需要创建一个学生对象,属性有name,number,class,sex, ...
分类:
编程语言 时间:
2019-01-19 12:19:28
阅读次数:
162
建造者模式:结构:1.产品对象:一类产品的抽象,具体产品的建造应该在具体建造者中实现3.抽象建造者4.具体建造者:对于每种具体产品都应该有一个对应的建造者,其中应该有一个抽象产品对象成员变量5.装配者:建造者对各个零件单独建造,没有顺序,因此,需要早装配者中确定建造顺序 优点:1.建造者独立,易扩展 ...
分类:
编程语言 时间:
2019-01-18 01:03:42
阅读次数:
216