摘要: 定义: 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式 场景: 每个电视牌子都有一次遥控器,用户需要改变遥控器的功能,下面看看桥接模式是怎么实现的。 实现: 遥控器的实现: 电视 阅读全文
posted @ 2018-06-08 01:10 Chin_lung 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 引言: 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式。 定义: 把一个类的接口变换成客户端所期待的另一 阅读全文
posted @ 2018-06-06 00:29 Chin_lung 阅读(95) 评论(0) 推荐(0) 编辑
摘要: lock的定义: lock关键字可以用来确保代码块的完成运行,而不会被其他线程中断,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。 lock关键字定义: 如果你想定 阅读全文
posted @ 2018-06-05 00:34 Chin_lung 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 引言: 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导致 阅读全文
posted @ 2018-06-03 23:24 Chin_lung 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 既然提到多线程,首先要了解什么是线程 线程:线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。 昨天在博客上 看到有个这样形容多线程和单 阅读全文
posted @ 2018-05-28 00:19 Chin_lung 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 定义:一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 情景:在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘 阅读全文
posted @ 2018-05-24 00:04 Chin_lung 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。 首先从表面上看,最容易理解的就是代理为别人完成某件事(为他人做嫁衣) 场景: 某某A要追求某某C,这个时候某某A要求某某B代理自己去追求C 图片: 根据图片就知道代理跟真实的行为是一样的,不过时提供了一种访问的间接性 客 阅读全文
posted @ 2018-05-22 22:27 Chin_lung 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 定义:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能 例子:假设现在有个中国人要体现出他会说英文和日文,这时候怎么办? 如果体现说日文的话,要重新再写一个子类,如果是N个就要写N个子类,显得不合理。 改造: 发现使用装饰模式可以减少类的实现,也可以实现代码组合:例如: 阅读全文
posted @ 2018-05-20 23:31 Chin_lung 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 定义:迪米特法则又叫最少知识原则,指一个对象应对其他对象有尽可能少的了解,也就是说,一个模块或对象应尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立,这样当一个模块修改时,影响的模块就会越少,扩展起来更加容易。 自己理解:就是说类之间联系减少、降低耦合。 实例: 有个总公司,下面有一个分 阅读全文
posted @ 2018-05-16 00:33 Chin_lung 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 官方定义:程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换,也就是说所有引用基类的地方必须能透明地使用其子类的对象。通俗的来说,子类可以扩展父类的功能,但不能改变父类原有的功能。 自己理解:一个实体类如果使用的是一个父类的话,那么一定适用于子类,在程序里面把父类替换成他的子类,程序的 阅读全文
posted @ 2018-05-14 23:39 Chin_lung 阅读(241) 评论(0) 推荐(0) 编辑