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’
}
很轻松就学到的东西不会有价值
- JAVA程序设计模式(思想)
- Java程序设计分层思想
- Java 并行程序设计模式 (Future 模式)
- java设计模式思想
- Java面向对象的程序设计思想
- Java实践(四)---程序设计模式
- java并行程序设计模式
- Java 并行程序设计模式 (Master-Worker模式)
- Java 并行程序设计模式 (Guarded Suspension模式)
- Java程序设计实用教程(第四版,叶贺亚)考试复习题-纯属个人思想
- 三层结构程序设计思想(一)
- 程序设计中的内存思想(初学者)
- C++面向对象程序设计思想(精)
- Java并行程序设计模式小结
- [设计模式]Java程序设计原则
- 并行JAVA程序设计模式Future模式
- 面向对象程序设计Java-三大特征和设计思想
- 【学习java编程思想】day_1面向对象程序设计的方法
- 法兴用数字证明中国期货市场是真正的投机市
- 贝叶斯统计(Bayesian statistics) vs 频率统计(Frequentist statistics):marginal likelihood(边缘似然)
- EffectiveJava-大纲
- 将二叉树拆成链表
- 关于InnoDB存储引擎text和blob类型的优化
- JAVA程序设计模式(思想)
- 牛顿—科特斯数值积分
- android 真机调试 DDMS 看不到进程
- GIT学习笔记
- ThreadLocal
- 使用cocopods导入第三方库报错 : [!] Pods written in Swift can only be integrated as frameworks; add `use_framew
- 聚合果二期代码目录结构
- logger配置文件小记
- PHP排序算法系列:快速排序