代码改变世界

结构类模式(一):适配器(Adapter)

2016-10-27 13:51 by 阿诚de窝, 340 阅读, 0 推荐, 收藏,
摘要:定义 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 类适配器模式 使用继承的方式实现没有提供的接口从而达到适配到新系统的需求。 对象适配器模式 使用聚合的方式提供新系统需要的所有接口。 UML 优点 缺点 应用场景 经典例子 阅读全文

创建类模式(五):单例(Singleton)

2016-10-27 13:47 by 阿诚de窝, 374 阅读, 0 推荐, 收藏,
摘要:定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式一般情况下通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行实例化。 和静态变量的区别 虽然都是在任意地方可以访问到,但是静态变量或全局变量不能限制一个应用中只存在指定类的一个实例,而单例可以 阅读全文

创建类模式(四):原型(Prototype)

2016-10-27 13:43 by 阿诚de窝, 370 阅读, 0 推荐, 收藏,
摘要:定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 UML 优点 缺点 应用场景 阅读全文

创建类模式(三):创建者(Builder)

2016-10-27 13:39 by 阿诚de窝, 340 阅读, 0 推荐, 收藏,
摘要:定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。 和工厂模式的区别 UML 优点 在创建者模式中,客户端不再负责对象的创建与组装,而是把这个对象创 阅读全文

创建类模式(二):抽象工厂(Abstract Factory)

2016-10-27 13:36 by 阿诚de窝, 346 阅读, 0 推荐, 收藏,
摘要:定义 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对 阅读全文

创建类模式(一):工厂方法(Factory Method)

2016-10-27 13:34 by 阿诚de窝, 772 阅读, 0 推荐, 收藏,
摘要:定义 此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一 阅读全文

创建类模式(零):简单/静态工厂(Static Factory)

2016-10-27 13:32 by 阿诚de窝, 468 阅读, 0 推荐, 收藏,
摘要:定义 简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一,这也是为什么该模式标记为零的原因。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 UML 优点 工厂类是整个模式的关键.包含了必要的逻 阅读全文

设计原则(六):开闭原则

2016-10-27 13:29 by 阿诚de窝, 374 阅读, 0 推荐, 收藏,
摘要:定义 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序的复用性、可维护性等要求。 阅读全文

设计原则(五):迪米特法则

2016-10-27 13:27 by 阿诚de窝, 223 阅读, 0 推荐, 收藏,
摘要:定义 一个对象应该对其他对象保持最少的了解。 类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。 问题 老师类的上课点名方法里依赖学生类,学 阅读全文

设计原则(四):接口隔离原则

2016-10-27 13:24 by 阿诚de窝, 246 阅读, 0 推荐, 收藏,
摘要:定义 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 问题 如图: 类A依赖接口I中的方法1、方法2、方法3,类B是对类A依赖的实现。类C依赖接口I中的方法1、方法4、方法5,类D是对类C依赖的实现。对于类B和类D来说,虽然他们都存在着用不到的方法(也就是图中红色字体 阅读全文
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 27 下一页