静态代理
定义
1.真实角色和代理角色实现相同的接口|继承相同的父类
2.代理角色特有真实角色的引用: 成员属性来进行维护
3.代理行为
优点
减少与真实角色的交流,减少耦合度
public class Test{
public static void main(String[] args) {
//经理
Manager Manager = new Manager();
//人事
Hr hr = new Hr();
//调用方法
hr.addUser();
}
}
//接口 录用人
interface AddUser{
void addUser;
}
//真实角色类
class Manager implements AddUser{
public void addUser() {
System.out.println("录用人");
}
}
//代理角色类
class Hr implements AddUser{
//代理角色持有真实角色的引用
Manager manager;
public Hr(Manager manager){
this.manager = manager;
}
public void addUser() {
System.out.println("发布招聘信息....");
System.out.println("预约面试....");
manager.addUser();
System.out.println("谈薪资....");
}
}
工厂模式
简单的例子
//工厂
public class Factory{
public static void main(String[] args) {
Bujia b = new Bujia();
b.run();
Car car = factory("feng");
car.run();
}
//工厂 制造车 凤凰牌
public static Car Factory(String str){
Car car = new Car();
//常量最好放前面来比较字符串
if("Feng".equals(str)){
new Feng();
}else{
car = new BUjia();
}
return car;
}
}
//接口 跑的功能
interface Car{
void run();
}
//风车类
class Feng implements Car{
public void run(){
System.out.println("两个轱辘跑...");
}
}
//跑车类
class BUia implements Car{
public void run() {
System.out.println("飞起来了...");
}
}