自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 生产者消费者模式

某个模块负责生产数据,这些数据由另一个模块来负责处理。生产数据的就叫生产者,处理数据的就叫消费者,在生产者和消费者之间加个缓冲区,形象地称之为仓库,这就就可以描述为生产者负责往仓库里添加商品,消费者就从仓库里拿商品,这就构成了生产消费者模式。常见的就是视频直播。附:https://blog.csdn.net/u011486491/article/details/77849326...

2019-01-07 10:53:06 101

原创 从笔试未通过引发对于专业的思考

       最近做了CVTE的笔试题,做题的时间是2018.12.26 7.00pm - 8:30pm,基本耗尽了答题时间,算是基本完成了。题量还算适中,总共有23道题,其中20道选择题,3道大题(2编程1设计)。记得上次笔试是在春招了,当时做了网易和腾讯的笔试题,那真的是像神仙打架,出的题真不是一般人能做的出来的,其实很多公司的招聘流程里面,都会有笔试这一关,也就是说要想获得面试机会,首先得...

2018-12-28 11:06:49 275

翻译 对象结构型模式之享元模式 重要等级1难度等级4

适用条件:(1)系统中有大量相同或者相似的对象,由于这类对象的大量使用,造成内存的大量耗费。(2)对象的大部分状态都可以外部化,可以将这些外部状态传入对象中。(3)使用享元模式需要维护一个存储单元对象的享元池,而这些需要耗费资源,因此,应当在多次重复使用享元对象时才值得使用享元模式。实际应用:比如在一个文档中多次出现相同的图片,只需要创建同一个图片对象,在不同地方引用即可。JDK中...

2018-12-18 09:52:38 118

翻译 方格走法总数

  这是一个比较经典得问题,其问题描述如下:给定一个M*N的格子或棋盘,求:从左下角走到右上角的走法总数?(每次只能向右或向上移动一个方格边长的距离)。对于这个问题,我一开始是通过枚举的方式视图找到规律,当我列举了三四个后发现,走法总数是可以同时向上或向右移动得点减一得二倍(这里只是我以为,其实是错的),我就开始沿着这个思路去做,以下是根据我的思路的写法(这个不是正确的写法,只是想记录一下...

2018-06-18 18:42:26 2163

原创 对象行为型模式之命令模式 重要等级4难度等级4

适用条件:系统需要请求调用者和接受者解耦,是的调用者和接收者不直接交互。请求调用者无须知道接收者的存在,也无须知道接收者是谁,接收者也无须关心何时被调用。系统需要在不同的时间制定请求、将请求排队和执行请求。一个命令对象和请求的初始调用者可以游不同的生命周期,换言之,最初的请求发出者可能已经不存在了,而命令对象本身仍然是活动的,可以通过该命令对象去调用请求接收者,而无须关心请求调用者的存在性。系统需...

2018-04-06 19:00:05 118

原创 对象结构型模式之外观模式 重要等级5难度等级2

适用情况:当要为一个复杂子系统提供一个简单的接口时可以使用外观模式。该接口可以满足大多数用户的需求,而且用户也可以越过外观直接访问子系统。客户程序与多个子系统之间存在很大的依赖性。引入外观类将子系统与客户以及其他子系统解耦,可以提高子系统的独立性和可移植性。在层次化结构中,可以使用外观模式定义系统中每一层的入口,层与层之间不直接产生联系,而通过外观类建立联系,降低层之间的耦合度。实际运用:几乎所有...

2018-04-03 10:57:54 186

原创 对象结构型模式之桥接模式 重要等级3难度等级3

适用环境:如果一个系统需要在构建的抽象化校色和具体化校色之间增加更多的灵活性,避免在两层次之间简历静态的继承关系,通过桥接模式可以使它们在抽象层建立一个关联关系。抽象化校色和实现化校色可以以继承的方式独立拓展而互不影响,在程序运行时可以动态将一个抽象化子类的对象和一个实现化子类的对象进行组合,即系统需要对抽象化的角色和具体化的角色进行动态耦合。一个类存在两个或多个独立变化的维度,且这两个或多个维度...

2018-03-19 09:32:52 180

原创 对象行为型模式之观察者模式 重要等级5难度等级3

适用环境:一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自独立的改变和复用。一个对象的改变将导致其他一个或多个对象也发生改变,而不知道具体有多少对象将发生改变,可以降低对象之间的耦合度。一个对象必须通知其他对象,而不知道这些对象是谁。需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象......可以使用观察者模式创建一种链...

2018-03-17 16:11:42 141

原创 类行为型模式之模板方法模式 重要等级3难度等级2

适用环境:一次性实现一个算法的不变部分,并将可变行为留给子类来实现。各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。控制子类的拓展。对一些复杂的算法进行分割,将其算法中固定不变的部分设计为模板方法和父类具体方法,而一些可以改变的细节由其子类来实现。实际应用:模板方法模式广泛应用于框架设计(如Spring、Struts等)中,以确保父类控制处理流程的逻辑顺序。其结构中只存在父类和...

2018-03-15 09:56:10 104

原创 对象行为型模式之策略模式 重要等级4难度等级2

适用环境:如果在一个系统里面有许多类,他们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一个行为。一个系统需要动态地在几种算法中选择一种,那么可以将这些算法封装到一个个地具体算法类中,而这些具体算法类都是一个抽象算法类的子类。由于多态性原则,客户端可以选择使用任何一个具体算法类,并只需要维持一个数据类型是抽象算法类的对象。不希望客户端知道复杂的、与算法相关的数据结...

2018-03-15 07:58:24 108

原创 对象结构型模式之代理模式 重要等级4难度等级3

适用环境:远程代理:为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可以是在另一台主机中。远程代理又叫做大使(Ambasssador)。RMI(Remote Method Invocation 远程方法调用)、Web Service的实现原理。虚拟代理:如果需要创建一个资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时...

2018-03-13 07:58:31 232

原创 对象创建型模式之抽象工厂模式 重要等级5 难度等级4

适用环境:一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有类型的工厂模式都是重要的。用户无须关心对象的创建过程,将对象的创建和使用解耦。系统有多于一个产品族。可以通过配置文件等方式来使得用户可以动态改变产品族,也可以很方便地增加新的产品族。属于同一个产品族的产品将一起使用,这一约束必须在系统的设计中体现出来。应用:很多系统软件中需要更换界面主题,要求界面的按钮/文本框/背...

2018-03-12 08:19:44 131

原创 对象创建型模式之工厂方法模式 重要等级5 难度等级2

适用条件:一个类不知道它所需要的对象的类:在工厂方法模式中,客户端不需要知道具体产品类的类名,只需要知道所对应的工厂即可,具体的产品对象由具体工厂创建;客户端需要知道创建具体产品的工厂类。 一个类通过其子类来指定创建哪个对象:在工厂方法模式中,对于抽象工厂类只需要提供一个创建产品的接口,而由其子类来确定具体需要创建的对象,利用面向对象的多态性和里氏代换原则,在程序运行时,子类对象将覆盖父类对象,从...

2018-03-11 18:16:31 95

原创 创建型模式之简单工厂模式

适用情况:工厂类负责创建的对象比较少:由于创建的对象比较少,不会造成工厂方法中的业务逻辑太过复杂。客户端只知道传入工厂类的参数,对于如何创建对象并不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。简单工厂模式是最简单的设计模式之一,它虽然不属于GoF23中设计模式,但是应用也较为频繁,同时它也是学习其他创建型模式的基础。创建型模式:顾名思义,创建型模式...

2018-03-10 10:02:28 153

原创 结构型模式之适配器模式 重要等级4 难度等级2

适用情况:系统需要使用现有的类,而这些类的接口不符合系统的需要。想要建立一个可以重复使用的类,用于一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。适配器模式可以使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 如:姚明使用翻译在NBA打球,才能听懂战术布置,这个翻译官就充当适配器的角色,再如Sun公司在1996年公开了Java语言的数据库连接工具JDBC,JDBC......

2018-03-10 08:27:05 163

原创 对象创建型模式之单例模式 重要等级 4难度等级 1

适用情况:系统只需要一个实例对象。客户调用类的单个实例只允许使用一个公共访问点,除了该公共访问点,不能通过其他途径访问该实例。如Windows操作系统中的任务管理器。试想,如果有多个窗口都打开着任务管理器,那么这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用户带来误解,不知道哪一个才是真正的状态。java....

2018-03-08 07:58:40 164

原创 对象型行为模式之迭代器模式 重要等级5难度等级2

适用:访问一个聚合对象得内容而无须暴露它得内部表示。将聚合对象的访问与内部数据的存储分离,使得访问聚合对象时无须了解其内部的实现细节。需要为聚合对象提供多种遍历方式。为遍历不同聚合结构提供统一的接口。如:遥控器和电视    迭代器模式是一种使用频率非常高的设计模式,迭代器用于对一个聚合对象进行遍历。怎样遍历一个聚合对象,又不需要了解聚合对象的内部结构,海能提供不同的遍历方式,这就是迭代器模式所要解...

2018-03-07 20:30:02 135

原创 对象创建型模式之原型模式

    应用场景:Ctrl+C Ctrl+V,Struts中保证线程的安全性,Action 对象的创建使用了原型模式,访问一个已经存在Action对象时将通过克隆的方式创建出一个新的对象,从而保证其中定义的变量无须进行加锁实现同步,每个Action中都有自己的成员变量,彼岸Struts1因使用单利模式而导致的并发和同步问题。Spring框架中使用原型模式来创建bean实例    原型模式结构较为简...

2018-03-06 10:54:10 227

翻译 面向对象设计原则

1.单一职责原则:类的职责要单一,不能将太多的职责放在一个类中。2.开闭原则:软件实体对拓展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去拓展其功能。3.里氏代换原则:在系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。4.依赖倒转原则:要针对抽象层编程,而不要针对具体类编程。5.接口隔离原则:使用多个专门的接口代替一个统一的接口。6.合成复用原则:在系统中应该尽可能多使用...

2018-03-05 10:09:41 107

原创 对象结构型设计模式之装饰模式· 重要等级3 难度等级3

适用情况:在不影响其他对象的情况下,以动态、透明的方式给单个对象增加职责。需要动态地给对象增加功能,这些功能也可以动态地被撤销。实际应用:装饰模式经常会用在数据加密,给图形界面增加边框,滚动等新特性等领域中。    之所以第二个设计模式就复习这个,在于学习设计模式时,由于时间有限,同时促进教学相长,老师要求我们同学组成小组,每小组派一个人来讲一个设计模式,于是我选择了装饰模式来讲。    装饰模式...

2018-03-05 08:47:57 152

原创 老司机租车网

写了那么多的项目,是时候整理回顾一波了,输入的倒是很多,但不回顾,就相当于是一个流水管,流过了,就过了。项目简介:环境需要:Windows下的 apache+MySQL+PHP(wamp)集成环境编写语言:PHP编写人员:卓越七小开发完成时间:2016年暑假培训结束今天解决了一部分编码问题,暂告一段落2018.3.4 20:00大概修修补补看了一遍,太混乱了,可以说根本没法优化,出现的主要问题有:...

2018-03-04 20:10:11 301

原创 行为型设计模式之访问者模式 重要等级1 难度等级4

应用场景:教师或学生奖励审批系统、一个对象包含很多类型的对象,希望对这些对象实施一些依赖其具体类型的操作等。访问者模式使得用户可以在不修改现有系统的情况下拓展系统的功能,为这些不同类型的元素增加新的操作。(开闭原则)    定义:表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素类的前提下定义作用于这些元素的新操作。模式结构图:(摘抄自刘伟主编的设计模式相关PPT)说明:Obje...

2018-03-04 07:44:28 172

原创 快速排序

对于快速排序吧,一直都比较模棱两可的,好像会,又好像不会,所以今天就试一试,看看还能记住多少。回顾一下大脑里面对快排的印象,它的思想大概是这样:以待排序中任意元素为标兵,把所有大于这个标兵值的元素放到一边,小于标兵值的放到另外一边,通过递归,逐步实现排序。 不写不知道,一写其实问题都出来了。首先,只知道思想,无法真正用代码表达出来,所以只停留在理论的表面,要说其原因,我觉得应该是...

2018-03-03 19:49:07 129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除