在Lab3中,最多的就是各个设计模式的开发,下面讲一下各个机制的大致实现方法。 CRP模式: CRP模式,通过接口组合实现局部共性特征的复用。我认为这个模式是最适合这个实验的。首先,需要我们开发的任务很难保证是完全共性的,也很难保证是完全个性的,往往都是只含有局部共性,这种情况下 CRP模式的优点会 ...
分类:
其他好文 时间:
2020-05-16 16:24:11
阅读次数:
65
虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。 为解决这个问题,人们开始使用工厂模式的一种变体。 工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程。 考虑到ES中无法创建 ...
分类:
编程语言 时间:
2020-05-16 12:38:05
阅读次数:
63
模式设计的对象: 1、客户角色:发出一个具体的命令并确定其接受者。 2、命令角色:声明了一个给所有具体命令类实现的抽象接口 3、具体命令角色:定义了一个接受者和行为的弱耦合,负责调用接受者的相应方法。 4、请求者角色:负责调用命令对象执行命令。 5、接受者角色:负责具体行为的执行。 1 using ...
1.5.深入分析代理模式 1.5.1.深度分析代理模式【上】 时长:46min 学习目标: 》代理模式的应用场景及实现原理 》区分静态代理与动态代理 》cglib和jdk Proxy实现动态代理的区别 》手写实现定义的动态代理 》spring Aop基于动态代理,打下基础 5.1.代理模式定义 5. ...
分类:
其他好文 时间:
2020-05-15 20:35:57
阅读次数:
80
观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式 定义 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一 ...
分类:
其他好文 时间:
2020-05-15 18:31:40
阅读次数:
62
一、引入 继承的最大弊端: 改变会牵一发而动全身,造成其他子类不想要的改变。 无限的重写方法会让人崩溃。 利用接口: 实现接口,也要重写方法,每个实现类都重写这个方法,代码无法复用,工作量更大。 解决: 将变化的行为和不变的行为分开:把变化的行为独立出来 针对接口编程而不是对实现编程:把变化的接口独 ...
分类:
其他好文 时间:
2020-05-15 17:43:21
阅读次数:
63
作用:将类的功能层次结构与实现层次结构分离 类的功能结构层次:父类具有基本功能,在子类中添加需要的新功能 类的实现层次:父类通过声明抽象方法来定义接口(API),子类通过实现具体方法来实现接口(API)。子类并没有在父类的基础上新增功能,只是父类接口的具体实现。 重点:继承是强关联,委托是弱关联 继 ...
分类:
其他好文 时间:
2020-05-15 11:48:17
阅读次数:
61
单例设计模式:确保一个类只有一个实例,并提供该实例的全局访问点。即使用一个私有构造函数,一个私有静态变量及一个公有静态函数来实现。 1 /* 2 单例模式,懒汉式 3 弊端:线程不安全,有延迟加载的情况出现,即不是在类创建时就已经加载了,而是调用的getInstance() 4 解决方法:加锁,即在 ...
分类:
其他好文 时间:
2020-05-15 00:35:04
阅读次数:
88
@[Toc] 什么是原型模式? 原型模式是一个比较简单,但应用频率比较高的设计模式。 Specify the kinds of objects to create using a prototypical instance,and create new objects by copying this ...
分类:
其他好文 时间:
2020-05-15 00:03:16
阅读次数:
56
前言 这篇文章主要向大家讲解什么是建造者模式,建造者模式的实例讲解及应用场景等知识点。 一、建造者介绍 ? 用户可以不知道产品的构建细节直接可以创建复杂的对象,主要是分离了产品的构建和装配,这样就实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不同的对象; 相同的构建器,不同的装配顺序也 ...
分类:
编程语言 时间:
2020-05-14 23:59:12
阅读次数:
118