摘要: 引言我们在编程的时候,有时候会遇到,一个对象的行为动作会由对象的状态来决定的,也就是对象的行为是由状态来决定,如果对象的状态很多,那么也会由很多不同的行为,这时候我们一班会 if –else if—来判断对象的行为,当对象的行为或者状态发生变化时,就需要更改之前的代码,这样的设计就违背了开闭原则,而状态模式就是用来解决这样的问题的状态模式的介绍状态模式的定义 当一个对象的内在状态改变时允许... 阅读全文
posted @ 2018-09-08 00:00 学无止境Time 阅读(2377) 评论(0) 推荐(2)
摘要: 引言迭代器模式是针对集合对象而生的,对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了,面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任,迭代器模式就是用迭代器类来承担遍历集合的职责。迭代器模式的介绍迭代器模式的定义 迭代器模式提供... 阅读全文
posted @ 2018-09-02 23:56 学无止境Time 阅读(626) 评论(0) 推荐(0)
摘要: 引言 命令模式,我感觉“命令”就是任务,执行了命令就完成了一个任务。或者说,命令是任务,我们再从这个名字上并不知道命令的发出者和接受者分别是谁,为什么呢?因为我们并不关心他们是谁,发出命令的人发出命令,可以继续做其他的事情,接受命令的人执行任务就可以,不需要你发出命令,还要监督我们完成,只要我们完成任务是合格的就行。这种行为也就是“解耦”,命令模式用得比较少,一般都是在实际项目开发的后发现需要用... 阅读全文
posted @ 2018-09-01 23:02 学无止境Time 阅读(240) 评论(0) 推荐(0)
摘要: 引言 提到模板,大家肯定不免想到生活中的“简历模板”、“论文模板”、“Word中模版文件”等,在现实生活中,模板的概念就是——有一个规定的格式,然后每个人都可以根据自己的需求或情况去更新它,例如简历模板,下载下来的简历模板的格式都是相同的,然而我们下载下来简历模板之后我们可以根据自己的情况填充不同的内容要完成属于自己的简历。在设计模式中,模板方法模式中模板和生活中模板概念非常类似,下面让我们就详... 阅读全文
posted @ 2018-08-31 22:19 学无止境Time 阅读(257) 评论(0) 推荐(0)
摘要: 最近在研究委托,在此跟大家分享下。委托时什么 官方的讲:委托就是一种引用方法的类型,一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托可以看做是对函数的抽象,是函数的"类",委托的实例将代表一个具体的函数。 另一种教容易理解的解释:委托是一个类,它定义了方法的类型,使方法可以当作另一个方法的参数来进行传递。看完定义可能是... 阅读全文
posted @ 2018-08-30 20:40 学无止境Time 阅读(258) 评论(0) 推荐(0)
摘要: 引言在现实生活中,处处可见观察者模式,例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用。在这一章将分享我对观察者模式的理解,废话不多说了,直接进入今天的主题。观察者模式的介绍2.1 观察者模式的定义 从生活中的例子可以看出,只要对订阅号进行关注的客户端,如果订阅号有什么更新,就会直接推送给订阅了的用户。从中,我们就可以得出观察者模式的定义。观察者模式定义了一种一对... 阅读全文
posted @ 2018-08-29 21:08 学无止境Time 阅读(411) 评论(0) 推荐(0)
摘要: TCP/IP四层模型:1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。3.运输层:主要为两台主机上的应用提供端到端的通信。4.应用层:负责处理特定的应用程序细节。假设在一个局域网(LAN)如以太网中有两台主机,二者运行FTP协议:网络层与运输层的区别: 在TCP/TP协议族中, 网络层I... 阅读全文
posted @ 2018-08-29 08:52 学无止境Time 阅读(348) 评论(0) 推荐(0)
摘要: 一、引言 在软件开发过程中,有些对象有时候会由于网络或者其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象,然后客户端只需要访问代理对象,由代理对象去帮我们去请求目标对象并返回结果给客户端,这样的一个解决思路就是今天要介绍的 代理模式(Proxy Pattern)二、代理模式的详细... 阅读全文
posted @ 2018-08-27 22:24 学无止境Time 阅读(236) 评论(0) 推荐(0)
摘要: 一、引言在软件开发过程中,如果我们需要重复使用某个对象的时候,如果我们重复地使用new创建这个对象的话,这样我们在内存就需要多次去申请内存空间了,这样可能出现内存使用越来越多的情况,这样的问题是非常严重,然而亨元模式可以解决这个问题,下面我们一起具体看看亨元模式是如何解决这个问题的。二、享元模式的详细介绍 既然亨元模式可以解决重复使用new创建对象的问题,下面让我们分析下如何去解决上面那个问题,... 阅读全文
posted @ 2018-08-27 00:13 学无止境Time 阅读(218) 评论(0) 推荐(0)
摘要: 一、引言在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ”门面“模式。下面就具体介绍下外观模式。二、外观模式的详细介绍2.1定义外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。使用外观模式时,我们创建了一... 阅读全文
posted @ 2018-08-25 22:15 学无止境Time 阅读(475) 评论(0) 推荐(0)