小Q:什么是设计模式
慢慢:设计模式是系统服务设计中针对常见场景的一种解决方案,可以解决功能逻辑开发中遇到的共性问题。设计模式并不局限最终的实现方案,而是在这种概念模式下,解决系统设计中的代码逻辑问题。
小Q:什么是代理模式
慢慢:代理模式是为了方便访问某些资源,使对象更加易用,从而在操作上使用代理服务。例如经纪人负责演员的日常对接事务,让演员专心演戏,这就是代理。
小Q:能不能上代码呢?
慢慢:好的,我们以演员为例。
public interface Actor {
String name;
void act();
}
public class Yangyang implements Actor {
public Yangyang(String name) {
this.name = name;
}
public void act() {
System.out.print(name + "演戏");
}
}
// 经纪人
public class Proxy {
Actor yangyang;
public Proxy(Actor actor) {
this.actor = actor;
}
public void notice() {
System.out.println("经纪人给" + actor.name + "接通告。");
yangyang.act();
}
}
public class Demo {
public static void main(String[] args) {
Proxy proxy = Proxy(new Yangyang("杨洋"));
proxy.notice();
}
}
小Q:代理模式和装饰器模式的区别是什么呢?
慢慢:两者都是对自身功能进行扩展。而代理模式是让别人进行扩展,并对我进行调用。而装饰器是自身进行扩展,虽然也新建了一个类,但是继承原先类,并将方法重写以及调用父方法。