{
过滤器链-
责任链-
责任链集合组装责任遍历调用方法-
类设置需要处理的属性组装好的责任链集合属性(组装责任链集合-实现相同接口)调用责任链处理属性
2个值分别在左右,中间调责任链,责任链结束,左边返回,右边倒序返回
Filter
intercepter
servlet单个责任
}
{
抽象父类-不可复用共性(实体)
实现类-具有个性(带参构造方法的属性可以实现个性-属性区别于共性-比继承耦合低)
接口-特殊可复用共性(行为)
方法-类与类之间的联系(分层降低耦合)
属性-私有不受扩展修改影响
多态-方法的参数(抽象父类)-调用的时候参数(new 子类)-父类的引用指向子类“继承-重写-父类引用指向子类对象=这就是多态(面向对象的精华-可扩展性)”
no over design恰到好处
}
{
面向接口编程-arrylist数组扩容-linklist模拟数据+指正-顶层collection接口(共有的未实现方法add sizr)-内部类(可变化)+容器实现interface(iterator-next hasnext)
接口细化(接口隔离原则)
java引用类似c指针
}
{
strategy(策略模式)
comparable(接口)-comparato(抽象方法啊-参数object)
多个实现类-重写上面的方法
if(object instanceof 当前类)
{当前类 a=(当前类)object
if(>)teturn 1;
else if(<) return -1;
else return 0;
}
用父类共性的引用-不同子类不同策略
新接口comparator-不同的策略类实现比较作用类的不同属性
compatator作为类的属性引用子类-comparator.方法-用子类的策略
}
{
静态代理proxy(继承和聚合)高内聚低耦合
2个类实现同一接口-构造方法参数(接口类型)
2个类中都有属性(接口)
接口的引用可以指向任意子类-即代理
dynamic proxy动态代理-生成代理类.instance 返回object 转化为接口类型,赋值给接口对象,接口对象.方法
生成的代理类(动态生成字符串,写进项目目录.java,获得jvm编译器编译,加载进内存,反射生成类)
}
{
类内部控制自己的对象创建(工厂)-私有构造-静态返回对象方法-new对象单例-new对象数组多例
类继承统一接口-工厂实现统一抽象类(简单工厂工厂方法)
不同类继承不同抽象类-不同工厂继承统一抽象工厂-抽象工厂new不同工厂-抽象工厂对象.方法返回相应对象对象(向上转型返回)
Springr容器beanfactor工厂,解析读取xml配置文件,放入map中,根据id也就是key获取值也就是类,通过反射返回,注入给属性
}
{
adapter适配器模式接口-转换接口-类 IO流
bridge桥接多维度-抽象类(多个继承)抽象类的属性为另一个维度的抽象对象-给属性赋值来桥接
命令模式command后悔药undo-command集合,add()-foreach执行do,倒序生成集合foreachundo
state状态模式不同状态继承同一抽象状态-不同状态实现不同方法(对象属性赋值某一状态,向上转型指向子类方法)
mediatort调停者模式-抽象调停类具体调停类(维护同事属性,维护同事方法)-抽象同事类(抽象调停类为属性)具体同事类调停方法
facade门面模式-通过中间类处理业务逻辑
}
{
0、序列化
1、私有属性
2、有参无参构造器
3、方法
4、set get
5、tostring
6、hashcode equals’
}
很轻松就学到的东西不会有价值