一、对象
(1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初始化,这样一个对象实体就完成了出生过程。Person aPerson
= new Person("小周" , 25); (2)旅程:在某种程度上就是外界通过方法与对象交互,从而达到改变对象状态信息.....
分类:
Web程序 时间:
2014-05-26 02:39:36
阅读次数:
348
问一、引入工厂,解决重复代码
前面已经提到,JS中创建对象的方法,不难发现,基本的创建方法中,创建一个对象还算简单,如果创建多个类似的对象的话就会产生大量重复的代码。
解决:工厂模式方法(添加一个专门创建对象的方法,传入参数避免重复)
function createObject(name,age){...
分类:
Web程序 时间:
2014-05-24 20:46:42
阅读次数:
328
Hibernate N+1 问题及解决办法
问题出现的原因:
Hibernate 中常会用到 set , bag 等集合表示 1 对多的关系,在获取实体的时候就能根据关系将关联的对象或者对象集取出,还可以设定 cacade 进行关联更新和删除。这不得不说 hibernate 的 orm 做得很好,很贴近 oo 的使用习惯了。
但是对数据库访问还是必须考虑性能问题的,在设定了 1 对多这种关系...
分类:
系统相关 时间:
2014-05-23 07:31:17
阅读次数:
289
观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
简单定义:让对象能够在状态改变时被通知。
OO原则:
为了交互对象之间的松耦合设计而努力。
以书中的WeatherStation为例:
Subject.java(定义接口)
package headfirst.observer.weather;
pu...
分类:
其他好文 时间:
2014-05-23 01:54:21
阅读次数:
337
策略模式定义:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
简单定义:封装可以互换的行为,并使用委托来决定要使用哪一个。
OO原则:
封装变化
多用组合,少用继续。
针对接口编程,不针对实现编程。
以书中的Duck为例:
Duck.java(抽象类,performFly()与performQuack()函数的实现委托给行为类,行为由子类...
分类:
其他好文 时间:
2014-05-22 23:20:51
阅读次数:
346
以下是对《Head First 设计模式》中提到的OO原则和设计模式的总结。
OO原则和设计模式的联系:模式可以让我们建造出具有良好OO设计质量的系统。模式被认为是历经验证的OO设计经验。
OO设计原则:
1.封装变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起;
2.多用组合,少用继承;良好的OO设计必须具备可复用、可扩充、可维护三个特性。
3...
分类:
其他好文 时间:
2014-05-22 17:05:00
阅读次数:
231
转换接口。
引入新原则: ” 最少知识“原则 作用为 外观模式
面向对象的适配器:将一个接口转换成另一个接口,以符合客户的期望。
对象适配器 与 类适配器
OO原则:(1)封装变化 (2)多用组合,少用继承 (3)针对接口编程,不针对实现编程 (4)为交互对象之间的松耦合设计而努力 (5)类应该对扩展开放,对修改关闭。(6) 依赖抽象,不要依赖具体类。(7)只和朋友交流。
...
分类:
其他好文 时间:
2014-05-22 09:22:37
阅读次数:
268
关键词 :hook 钩子 Applet 中 init() destory() 为钩子,需要子类去实现。
新原则: 别调用我们,我们会调用你们 高层调用低层 低层不能调用高层。
目的 :封装算法
模板方法:子类决定如何实现算法中的步骤
策略:封装可互换的行为,然后使用委托来决定要采用哪一个行为
工厂方法:由子类决定实例化哪个具体类
OO原则:新原则上面
OO模式:...
分类:
其他好文 时间:
2014-05-21 15:51:32
阅读次数:
270
简单工厂模式及实例前言工大有许多同学是做java的,大家都知道java最大的优点是它的完全OO化和它在多年的发展过程中吸收和总结了许多先进的框架与模式,其中工厂模式就是最常用的模式之一。下面我想将我在学习和实践过程中对工厂模式的认识与了解介绍给大家。由于笔者能力限制,在实践中也没参与过什么大的项目,...
分类:
其他好文 时间:
2014-05-21 12:03:46
阅读次数:
277
关键词 :空对象 有人称为设计模式
三层调用
1. 封装调用 , 把封装带到一个全新的境界: 把方法调用(method invocation) 封装起来.
2. 命令模式可将"动作的请求者" 从"动作的执行者" 对象中解耦.
3. 当需要将发出的请求和执行请求的对象解耦的时候,使用命令模式.
OO原则: (1)封装变化 (2) 多用组合,少用继承 (3)针对接口编程,不针对...
分类:
其他好文 时间:
2014-05-18 03:18:57
阅读次数:
311