摘要: 一、理解三次握手、四次挥手 1、什么是“3次握手,4次挥手” TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如ip地址、端口号等。 TCP可以看成是一种字节流,它会处理IP层或以下的层的丢包、重复 阅读全文
posted @ 2022-05-17 02:38 穷帅哥依然纵横一方 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一、什么是单点登录单点登录的英文名叫做:Single Sign On(简称SSO),指在同一帐号平台下的多个应用系统中,用户只需登录一次,即可访问所有相互信任的系统。简而言之,多个系统,统一登陆。为什么需要做单点登录系统呢?在一些互联网公司中,公司旗下可能会有多个子系统,每个登陆实现统一管理,多个账 阅读全文
posted @ 2022-05-17 01:42 穷帅哥依然纵横一方 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 本篇文章主要以php语言为基础为大家讲解在php中如何实现各种常见的设计模式。 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多 阅读全文
posted @ 2022-05-17 01:33 穷帅哥依然纵横一方 阅读(2187) 评论(0) 推荐(0) 编辑
摘要: 装饰模式 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰模式的特点 (1) 装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。 (2) 装饰对象包含一个真实对象的引用(referenc 阅读全文
posted @ 2022-05-17 01:26 穷帅哥依然纵横一方 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 代理模式 代理模式的作用和继承以及接口和组合的作用类似,都是为了聚合共用部分,减少公共部分的代码。 不同的是相比起继承,他们的语境不同,继承要表达的含义是 is-a, 而代理要表达的含义更接近于接口, 是 has-a,而且使用代理的话应了一句话"少用继承,多用组合",要表达的意思其实也就是降低耦合度 阅读全文
posted @ 2022-05-17 01:23 穷帅哥依然纵横一方 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 外观模式(门面模式) 外观模式是指通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。 门面模式的优点 1、它对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便 2、实现了子系统与客户之间的松 阅读全文
posted @ 2022-05-17 01:22 穷帅哥依然纵横一方 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 (Adapter Pattern) Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。 适配器模式应用场景 在大规模的系统开发过程中,我们常常碰到诸如以下这些情况: 我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外部 阅读全文
posted @ 2022-05-17 01:21 穷帅哥依然纵横一方 阅读(1195) 评论(0) 推荐(0) 编辑
摘要: 组合模式 (Composite Pattern) 组合模式:允许客户将对象组合成树形结构来表现"整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合模式让我们能用树形方式创建对象的结构,树里面包含了组合以及个别的对象。使用组合结构,我们能把相同的操作应用在组合和个别对象上。 阅读全文
posted @ 2022-05-17 01:21 穷帅哥依然纵横一方 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 原型模式(Prototype) Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 解决什么 阅读全文
posted @ 2022-05-17 01:19 穷帅哥依然纵横一方 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 建造模式介绍 建造模式(Builder Pattern)是对象的创建模式。它可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 由于建造零件的过程很复杂,因此,这些零件的建造过程往往被“外部化”到另一个乘坐建造者的对象里,建造者对象返还给客户端 阅读全文
posted @ 2022-05-17 01:18 穷帅哥依然纵横一方 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 单例模式(Singleton pattern)是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 如 阅读全文
posted @ 2022-05-17 01:16 穷帅哥依然纵横一方 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 工厂模式(factory pattern)是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new 阅读全文
posted @ 2022-05-17 01:15 穷帅哥依然纵横一方 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 使用多个专门的接口比使用单一的总接口要好。 一个类对另外一个类的依赖性应当是建立在最小的接口上的。 一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口 阅读全文
posted @ 2022-05-17 01:13 穷帅哥依然纵横一方 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 里氏代换原则 里氏替换原则LSP讲的是基类和子类的关系。只有当这种关系存在时,里氏代换关系才存在。如果两个具体的类A,B之间的关系违反了LSP的设计,(假设是从B到A的继承关系)那么根据具体的情况可以在下面的两种重构方案中选择一种。 <?php //举例说明继承的风险,我们需要完成一个两数相减的功能 阅读全文
posted @ 2022-05-17 01:11 穷帅哥依然纵横一方 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。 1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction) 阅读全文
posted @ 2022-05-17 01:08 穷帅哥依然纵横一方 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 设计模式(Design pattern) 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设 阅读全文
posted @ 2022-05-17 01:07 穷帅哥依然纵横一方 阅读(191) 评论(0) 推荐(0) 编辑