浅墨浓香

想要天亮进城,就得天黑赶路。
随笔 - 743, 文章 - 16, 评论 - 87, 阅读 - 53万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

05 2016 档案

摘要:1. 享元模式(Flyweight Pattern)的定义 (1)运用共享技术高效地支持大量细粒度的对象 ①对象内部状态:数据不变且重复出现,这部分不会随环境变化而改变,是可以共享的。 ②对象外部状态:数据是变化的,会随环境变化而改变,是不可以共享的。 ③所谓的享元,就是把内部状态的数据分离出来共享 阅读全文

posted @ 2016-05-31 09:12 浅墨浓香 阅读(435) 评论(0) 推荐(0) 编辑

摘要:1. 外观(门面)模式(Facade Pattern)的定义 (1)为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 ①这里说的界面是指从一个组件外部来看这个组件,能够看到什么,也就是外观。如从一个类外部看这个类,那么这个类的publi 阅读全文

posted @ 2016-05-29 10:02 浅墨浓香 阅读(409) 评论(0) 推荐(0) 编辑

摘要:1. 装饰模式(Decorator Pattern)的定义 (1)动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。 ①装饰模式是为对象(而不是类)添加功能的。 ②用组合方式,而不是继承方式为对象添加功能。 ③装饰模式在设计上最精妙之处:Decorator既从Compo 阅读全文

posted @ 2016-05-28 19:48 浅墨浓香 阅读(521) 评论(0) 推荐(0) 编辑

摘要:1. 组合模式(Composite Pattern)的定义 (1)将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 (2)组合模式的结构和说明 ①Component:抽象的组件对象,为组合中的对象声明接口,让客户端可以通过这个接口来访问和管理 阅读全文

posted @ 2016-05-25 13:00 浅墨浓香 阅读(615) 评论(0) 推荐(0) 编辑

摘要:1. 桥接模式(Bridge Pattern)的定义 (1)将抽象部分与它的实现部分分离,使它们都可以独立地变化 ①一般的“抽象”与“实现”是指父子类的继承关系。但这里,GoF所谓的“抽象(Abstraction接口)”和“实现(Implementor接口)”分别代表了引起类变化的两个维度(前者是个 阅读全文

posted @ 2016-05-23 22:00 浅墨浓香 阅读(536) 评论(0) 推荐(0) 编辑

摘要:1. 适配器模式(Adpater pattern)的定义 (1)将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原来由于接口不兼容而不能一起工作的那些可以一起工作。 (2)适配器模式的结构和说明 ①Client客户端,调用自己需要的领域接口Target ②Target:定义客户端需要的跟特 阅读全文

posted @ 2016-05-21 12:13 浅墨浓香 阅读(509) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-20 22:24 浅墨浓香 阅读(115) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-20 21:18 浅墨浓香 阅读(93) 评论(0) 推荐(0) 编辑

摘要:1. 原型模式(Prototype pattern)的定义 (1)用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 ①通过克隆来创建新的对象实例 ②新的对象实例复制原型实例属性的值 (2)原型模式的结构和说明 ①Prototype:声明一个克隆自身的接口,用来约束想要克隆自己的类,要求 阅读全文

posted @ 2016-05-19 13:21 浅墨浓香 阅读(407) 评论(0) 推荐(0) 编辑

摘要:1. 建造者(Builder,或生成器)模式的定义 (1)将一个复杂对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 ①上述提到的“构建”是指构造过程的算法(即构造顺序,位于director类中),“表示”指生成各部件的具体细节(或叫实现,位于Builder或其子类中)。 ②由指导者( 阅读全文

posted @ 2016-05-18 00:09 浅墨浓香 阅读(598) 评论(0) 推荐(0) 编辑

摘要:1. 抽象工厂的定义 (1)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 ①只需要知道创建一系列对象的接口,而无需知道具体使用的是哪一个实现 ②这一系列对象是相关或相互依赖的,也就是说既要创建对象,还要约束它们之间的关系。 ③一系列对象是构建新对象所需要的组成部分,并且对象之间 阅读全文

posted @ 2016-05-16 20:22 浅墨浓香 阅读(562) 评论(0) 推荐(0) 编辑

摘要:2. 工厂方法模式 2.1工厂方法模式的定义 (1)定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类 ①Product:定义了工厂方法创建对象的接口。也就是实际需要使用的产品对象的接口 ②ConcreteProduct:具体的Product接口的实现对象。 阅读全文

posted @ 2016-05-14 20:42 浅墨浓香 阅读(548) 评论(0) 推荐(0) 编辑

摘要:1. 简单工厂 1.1 简单工厂的定义 (1)提供一个创建对象实例的功能,而无须关心其具体实现。 ①Api接口:定义客户所需要的功能接口 ②Impl:具体实现Api的实现类,可能会有多个 ③SimpleFatory类:工厂,选择合适的实现类来创建Api接口对象 ④Client:客户端,通过Facto 阅读全文

posted @ 2016-05-13 23:36 浅墨浓香 阅读(556) 评论(0) 推荐(0) 编辑

摘要:1. 单例模式(Singleton Pattern) (1)定义:保证一个类仅有一个实例,同时提供能对该实例加以访问的全局访问方法。 (2)解决思路: ①在类中,要构造一个实例,就必须调用类的构造函数。如此,为了防止在外部调用类的构造函数而创建实例,需要将构造函数的访问权限设为protected或p 阅读全文

posted @ 2016-05-11 09:21 浅墨浓香 阅读(653) 评论(0) 推荐(0) 编辑

摘要:6. 开闭原则(Open Closed Principle,OCP) 6.1 定义 (1)一个类应该对扩展开放,对修改关闭。要求通过扩展来实现变化,而且是在不修改己有的代码情况下进行扩展,也不必改动己有的源代码或二进制代码。 (2)在软件生命周期内,变化是一个既定的事实,在设计时尽量适应这些变化,以 阅读全文

posted @ 2016-05-10 19:14 浅墨浓香 阅读(460) 评论(0) 推荐(0) 编辑

摘要:5. 迪米特法则(Law of Demeter,LoD) 5.1 定义 (1)应尽量减少其他对象之间的交互,对象只和自己的朋友交谈,即对其他依赖的类越少越好(不要和太多的类发生关系)。 (2)尽量不要让类和类之间建立直接的关系,这样可减少类与类之间的依赖,降低类之间的耦合。 (3)一个类应对自己需要 阅读全文

posted @ 2016-05-10 16:11 浅墨浓香 阅读(454) 评论(0) 推荐(0) 编辑

摘要:4. 接口隔离原则(Interface Segregation Principle,ISP) 4.1 定义 (1)使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。类间的依赖关系应该建立在最小接口上 (2)接口尽量细化,同时接口中的方法尽量少。每个接口中只包含一个客户端 阅读全文

posted @ 2016-05-10 10:02 浅墨浓香 阅读(446) 评论(0) 推荐(0) 编辑

摘要:3. 依赖倒置原则(Dependence Inversion Principle,DIP) 3.1 定义 (1)要依赖抽象,不要依赖具体的实现类。简单的说就是对抽象(或接口)进行编程,不要依赖实现进行编程,这样就降低了客户与实现模块间的耦合。包含3层含义: ①高层模块不应依赖低层模块,两者都应该依赖 阅读全文

posted @ 2016-05-09 22:54 浅墨浓香 阅读(2095) 评论(0) 推荐(0) 编辑

摘要:2. 里氏替换原则(Liskov Substitution Principle,LSP) 2.1 定义 (1)所有使用基类的地方必须能透明地使用子类替换,而程序的行为没有任何变化(不会产生运行结果错误或异常)。只有这样,父类才能被真正复用,而且子类也能够在父类的基础上增加新的行为。也只有这样才能正确 阅读全文

posted @ 2016-05-09 19:14 浅墨浓香 阅读(654) 评论(0) 推荐(0) 编辑

摘要:1. 单一职责原则(Single Responsibility Principle,SRP) 1.1 单一职责的定义 (1)定义:一个类应该仅有一个引起它变化的原因。这里变化的原因就是所说的“职责”。 (2)如果一个类有多个引起它变化的原因,也就意味着这个类有多个职责。即把多个职责耦合在一起了。 ( 阅读全文

posted @ 2016-05-08 11:18 浅墨浓香 阅读(649) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-06 19:08 浅墨浓香 阅读(84) 评论(0) 推荐(0) 编辑

摘要:1. 类的关系 1.1 继承和实现:继承表示有父子关系 1.2 依赖:(use–a),表示一个类要使用(use)另一个类。 (1)类图 (2)三种依赖方式:函数参数或返回值、局部变量和静态成员变量或函数 1.3 关联:是一种平等的、朋友关系 (1)双向关联:双方都知道对方的存在,都可以调用对方的公有 阅读全文

posted @ 2016-05-06 13:06 浅墨浓香 阅读(1015) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-03 22:59 浅墨浓香 阅读(84) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-03 22:19 浅墨浓香 阅读(101) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-02 09:39 浅墨浓香 阅读(63) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-02 08:56 浅墨浓香 阅读(72) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 23:09 浅墨浓香 阅读(78) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 22:17 浅墨浓香 阅读(77) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 20:49 浅墨浓香 阅读(59) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 20:11 浅墨浓香 阅读(71) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 19:47 浅墨浓香 阅读(104) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 13:57 浅墨浓香 阅读(64) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 11:06 浅墨浓香 阅读(92) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2016-05-01 00:19 浅墨浓香 阅读(181) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示