写这博客的目的是将借来的书上看到的好东西摘抄下来,当做笔记。
看的是清华出版社的java程序设计高级教程(第三版),国外计算机科学经典教材系列。
第一章 高级java编程介绍
- java不仅支持网络,而且其设计目的是与internet和其他基于TCP/IP的网络一起使用。
- J2EE的设计支持特定应用程序体系结构。极力鼓励具有3层或多层的分层体系结构。——客户层→容器→持久层
- 理解面向对象技术和掌握支持面向对象编程的java语言构造 以及识别普通问题,并采用适当的设计模式解决他们 是成功编程java的3种重要技术。
- 模型-视图-控制器设计模式(MVC)
- 视图 ↓ 向用户显示,不了解模型,基本不了解控制器
- 控制器 ↓ 用于输入和响应 对于模型与视图都了解一点
- 模型 不了解视图,基本不知道控制器
- 这样的特征是模型与视图完全分离,对于用户界面或者模型工作的修改互不影响。而控制器层应相应的修改。
- 对象创建模式
单一设计模式:保证只创建一个实例。
public class Dispatcher{
private Dispatcher dispatcher = null;
private Dispatcher () {
//init op
}
public dispatcher singleton (0 {
if (dispatcher == null) {
dispatcher = new Dispatcher () ;
}
return dispatcher ;
}
// other mothers
}
工厂设计模式: 当不知道使用哪一个子类,或者没有用于初始化对象所需的全部信息时,可以创建工厂类作为目标类的
辅助类,返回其他某个类型对象的类,实例化和初始化这些对象。
public interface PolicyFactory{
Policy createPolicy();
}
public class PolicyBuilder implemente PolicyFactory {
Policy createPolicy () {
Policy p = null;
if ( /*...*/) {
p = new Type1Policy();
}else if (/*...*/) {
p = new Type2Policy ();
}else if ...
...
return p;
}
}
结构化模式: 适配器设计模式
facade设计模式:当使用无法修改或拓展的一组类而又发现他们的协议不适合是,可以在原类和期望的类
创建一组facade类,facade类执行任何需要的映射,并调用原始类的方法。可提供对现有代码的简化
、限制或者安全的访问。可以使用facade为全异的API提供通用的协议。