设计模式
RHYME_CHIANG
One Thing Remains
展开
-
Rhyme/ Java 设计模式之类与类之间的关系—依赖、关联(聚合与组合)、继承、实现
设计模式之类与类之间的关系1、依赖类作为形参或局部变量2、关联类作为属性1、聚合:类作为属性的时候,和主类具有不一致的生命周期,即整体与部分具有不一致的生命周期类对象作为属性在主类中通过参数从外界传入2、组合:类作为属性的时候,和主类具有一致的生命周期,即整体与部分具有一致的生命周期类对象作为属性在主类内部创建3、继承父类子类4、实现接口与实现类原创 2017-10-21 14:42:43 · 454 阅读 · 0 评论 -
Rhyme/Java 设计模式之装饰设计模式
装饰设计模式装饰设计模式就是在不改变原有类的基础上,使用增强类来对原有类的功能进行优化和加强, 这样一来的好处就是,我可以由一个原型基础类,通过各种不同的修饰包括类,包装出更多不同功能的包装类出来。和接口和实现类的关系特别像,不过这里主要是对原有功能进行增强和扩展我们这里一IO流中应用的装饰设计模式为例MyFileInputStream 被装饰对象进行装饰处理测试结果原创 2017-10-21 15:47:33 · 324 阅读 · 0 评论 -
Rhyme/Java 适配器模式应用场景
Java 适配器模式应用场景适配器模式的思想和我们现实世界中的接口转接器的模式很相似,我只需要花较少的代价买个适配器就行,而不用花大价钱把原有设备也给换掉,比较典型的例子,就是不同的苹果的耳机接口;主要用途:通常用于对旧系统进行改造升级的时候原创 2017-11-13 16:15:28 · 668 阅读 · 0 评论 -
Rhyme/设计模式之单例模式详解—作用、应用场景、优点、五种单例模式实现方式
设计模式之单例模式详解首先我们需要明白的是设计模式重要的是一种设计的思维,而不是单纯的代码,所以理解设计模式背后的思考方式才是重点1、单例模式的核心作用保证一个类只有一个实例,且有一个全局访问点可以访问这个实例2、单例模式的常见的应用场景1、servlet编程中,每个servlet都是单例2、servlet编程中application也是单例3、spingMVC中的控制器对象也是单例4、spring原创 2017-11-04 16:56:44 · 828 阅读 · 0 评论 -
Rhyme/Java 单例模式反射和反序列化漏洞解决
Java 单例模式反射和反序列化漏洞解决我们知道,及时设置了单例模式,我们将一个类的构造器私有化,我们任有可能通过反射和反序列化的手段来创建新的对象,那么废话少说,以下是解决方案1、在私有构造中手动抛出异常,解决反射漏洞 2、添加readResoulve()方法,解决反序列化漏洞以下是测试代码:原创 2017-11-06 16:39:42 · 326 阅读 · 0 评论 -
Rhyme/Spring5.0.2.RELEASE官方英文文档学习笔记(1) Introduction to the Spring IoC container and beans
1.1Introduction to the Spring IoC container and beans1.1. Introduction to the Spring IoC container and beansThis chapter covers the Spring Framework implementation of the Inversion of Control (IoC) [1]原创 2017-11-30 20:02:26 · 426 阅读 · 0 评论 -
Rhyme/Java 设计模式之工厂模式
Java 设计模式之工厂模式 模式 优点 缺点 简单工厂模式 简单,类少 没有满足OCP开闭原则 工厂模式 满足OCP原则 类多,成本高 抽象工厂模式 满足OCP原则,产品族的工厂创建 复杂,成本高以下是三种模式的简单实现1、简单工厂模式 2、工厂模式3、抽象工厂模式原创 2017-12-17 15:34:20 · 316 阅读 · 0 评论 -
Rhyme/Java 设计模式之原型模式prototype通过clone方法和反序列化实现深复制
Java 设计模式之原型模式prototype通过clone方法和反序列化实现深复制原型模式适用于什么场景?1、当创建一个对象需要消耗较多的系统资源时2、一次性创建多个对象spring中就有单例singleton和protoptype两种bean的作用范围,通常原型模式会和工厂模式结合起来使用clone()方法实现深复制这里需要注意的一点是,clone()方法并不是Cloneable接口中的方法,而原创 2017-12-18 16:11:20 · 347 阅读 · 0 评论