- 博客(9)
- 收藏
- 关注
原创 五种I/O模型
五中I/O模型阻塞I/O非阻塞I/OI/O多路复用信号驱动I/O(SIGIO)异步I/O一般来说。程序进行输入操作有两步:等待有数据可以读;将数据从系统内核中拷贝到程序的数据区。对于一个对嵌套字的输入操作,第一步一般来说是等待数据从网络传到本地。当数据包到达的时候,数据将会从网络层拷贝到内核的缓存中;第二步是从内核中把数据拷贝到程序的数据区中。1、阻塞I/O模式(blo...
2020-05-06 09:25:55 1146
原创 设计模式之模板方法模式
1、定义模板方法模式(Template Method Pattern)又叫模板模式,是指定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构的情况下,可重定义该算法的某些特定步骤。模板方法模式实际上是封装了一个固定流程,该流程由几个补助组成,具体补助可以有再累进行不同视线,从而让固定的流程产生不同的效果。他非常简单,其实就是类的继承机制,但他去网上一个应用非常...
2020-04-28 16:10:12 172
原创 设计模式之代理模式
1、定义代理模式(Proxy Pattern)是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到了中介作用。代理模式中的三个角色:**抽象主题角色(Subject):**主要职责是声明真实主题与代理的共同接口方法,可以使接口也可以是抽象类;**真实主题角色(RealSubject):**被代理类,该类定义了代理所表示的真实对象,是负责执行系统真正的逻辑...
2020-04-28 16:06:08 123
原创 设计模式之适配器模式
1、定义适配器模式(Adapter Pattern)又叫变压器模式,它的功能是将一类的接口变成客户端所期望的另一种接口,从而使原来因接口不匹配而导致无法在一起的两个类能够在一起工作。属于结构型设计模式2、应用场景1、已经存在的类,它的方法和需求不匹配(方法结果相同或类似)的情况;2、适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品,不同厂家造成功能类似而接口不相同的...
2020-04-28 16:03:36 122
原创 设计模式之委派模式
1、定义委派模式(Delegate Pattern)又叫委托模式。它的基本作用就是负责任务的调度和任务的分配,将任务的分配和执行分离开来。可以看做是一种特殊情况下的静态代理的全权代理。不属于23中设计模式。属于行为型模式2、应用场景1、委派对象本身不知道如何处理一个任务或一个请求,吧请求交给其他对象来处理。2、实现程序的解耦。3、组成抽象任务角色(Task):定义一个抽象接口,他有...
2020-04-21 17:08:22 430 1
原创 设计模式之装饰器模式
1、定义装饰器模式(Decorator Pattern)也叫包装模式(Wrapper Pattern),是指在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有独享的功能)。核心:功能扩展,透明的并且可以动态扩展对象的功能。主要用于动态的扩展类的功能。其实现原理为:让装饰器实现被包装类(Concrete Component)相应的接口(Component)...
2020-04-21 13:15:46 226
原创 设计模式之工厂模式
1、简单工厂模式1.1、定义简单工厂模式(Simple Factory Pattern)是指有一个工厂对象决定创建出哪一种产品类的实例,不属于23种设计模式。简单工厂是产品的工厂1.2、应用场景简单工厂模式适用于工厂类创建的对象较少的场景,且客户端只需要传入工厂参数,对如何创建对象的逻辑不需要关心。1.3、缺点工厂类的职责相对过重,增加新的产品时需要修改工厂类的判断逻辑,违背了开闭原...
2020-04-20 14:34:03 151
原创 设计模式之单例模式
一 、单例模式的应用场景单例模式(Singleton Pattern )是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。隐藏其所有的构造方法。一般用getInstance()方法名创建单例实例。单例模式是创建型模式。应用非常广泛,例如:J2EE中的ServletContext、ServletContextConfig等。Spring中的ApplicationContext...
2020-04-20 14:31:30 116
原创 面向对象七大设计原则
一、开闭原则1、定义一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。2、优点提高软件系统的可复用性及可维护性。二、依赖倒置原则1、定义高层模块不应该依赖底层模块,二者都应该依赖其抽象抽象不应该依赖细节;细节应该依赖抽象针对接口编程,不要针对实现编程应用层:高层应用层的调用依赖低层的实现。spring的依赖注入就是使用依赖倒置原则实现。...
2020-04-20 14:29:18 132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人