设计模式绪论DesignPatterns暂记

针对类的三要素对设计模式分为三类
构造方法new:创建型模式
成员变量 :结构型模式
成员方法 :行为性模式

重用设计和代码 :
继承,组合→框架(SSH,SSM)→定制软件

常用模式举例:
单例模式:确保一个类只有一个实例,且自行实例化。并向整个系统提供这个实例。

原型模式(prototype):
使用Object的克隆clone方法,clone方法是底层方法,直接复制内存中的数据而非使用构造方法(进一步的有浅拷贝和深拷贝,对于引用对象,浅拷贝和深拷贝的关系类似于指针和重新malloc(mamory allocation))

装饰器模式:
也是对象增强的,对比类的继承
类继承 : 静态 对子类的扩展
装饰模式:动态 对象即可

工厂模式:(一般情况下,对象的创建与使用没有分开)而工厂模式中工厂类根据参数创建不同的实例
工厂模式中有: 简单工厂,抽象工厂,建造者模式(抽象工厂模式+组装类(导演类)=建造者模式) (简单工厂不符合开闭原则)

代理模式:对原有对象的增强
接口:(声明真实对象和代理对象的公共接口)

public interface AB{ void CD();}

public class A implements AB{
public void CD(){一个输出语句}

public A代理 implements InvocationHandler{
private A a;

public A代理(A a){super();this.a=a;}

public Object invoke(Object proxy,Method method, Object[] args)throws Throwable{
可放一个前处理方法
Object ret = method.invoke(a,args);
可放一个后处理方法
return ret;

public Object getProxyInstance(){
return Proxy.newPeoxyInstance(a.getClass().getClassLoader,a.getClass.getInterfaces(),this);

实现,测试类:
public class implementCase{
public void main(String[] args){
A a=new A();
A代理 a代理 =new A代理(a);
A 代理人=(A) a代理.getProxyInstance();
代理人.CD();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值