JAVA程序设计模式(思想)

来源:互联网 发布:mac磁盘不能分区 编辑:程序博客网 时间:2024/05/20 07:37

{

过滤器链-

责任链-

责任链集合组装责任遍历调用方法-

类设置需要处理的属性组装好的责任链集合属性(组装责任链集合-实现相同接口)调用责任链处理属性

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’

}

很轻松就学到的东西不会有价值


0 0