什么是备忘录模式?
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将以后的对象状态恢复到先前保存的状态。
我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来进行返回。这时...
分类:
其他好文 时间:
2015-07-27 00:26:31
阅读次数:
146
在上一节中,实现了CodeFirst快速入门。但是很多与数据库的细节还无法自定义。以及使用EF过程中,需要注意的事项。 在本节中,会涉及到以下EF中的连接字符串EF的对象状态延迟加载,为什么需要Virtual,贪婪加载绕过EF,直接SQL查询查看EF生成SQL语句实体与数据库的映射通过...
分类:
其他好文 时间:
2015-07-26 15:42:27
阅读次数:
107
随着交通信号灯的变化,汽车的行为也将随之变化,一盏交通信号灯可以指挥多辆汽车。
在软件系统中,有些对象之间也存在类似交通信号灯和汽车之间的关系,一个对象状态或者行为的变化将导致其他对象的状态或者行为也发生变化,它们之间将产生联动。为了更好的描述对象之间存在的这种一对多(包括一对一)的联动,观察者模式应运而生,它定义对象之间一对多的依赖关系,让一个对象的改变能够影响其它对象。
观察者模式概述...
分类:
其他好文 时间:
2015-07-15 17:11:09
阅读次数:
255
1.序列化是将对象状态转换为可保持或传输的形式的过程。序列化是将数据分解成字节流,以便存储在文件中或在网络上传输;反序列化就是将字节流重构为对象。2.序列化特点:如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状...
分类:
其他好文 时间:
2015-07-15 14:41:26
阅读次数:
109
有这么一种松耦合的需求:
有一些类的对象对类A对象的状态变化很感兴趣,不会改变类A的对象,也不会被类A的对象改变,想以一种较小的代价观察对类A对象状态变化。
下面的几种方式也能实现上述目的
(1)通过类的继承来共同管理和维护一些感兴趣的数据或者状态,但是耦合度大,不易扩展和维护。
(2)通过调用被观察者的getter方法获取数据,这个还是直接的对象调用。
上述两种方法将使观察者和被观察对...
分类:
其他好文 时间:
2015-07-14 17:57:27
阅读次数:
115
首先了解一下什么叫做拷贝?
Employ e1 = new Employ();
Employ e2 = e1;
这就是拷贝,原始变量与拷贝变量指向相同的引用对象,如果改变其中一个对象的状态,其他的对象变量的对象状态也会随之改变。
什么叫做克隆?
Employ e1 = new Employ();
Employ e2 = e1.clone();
克隆之后的变量,各自指向自己的对象,这个...
分类:
编程语言 时间:
2015-07-12 11:23:13
阅读次数:
143
像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射、对象状态管理等,因此在性能和效率上有一定的损耗。在保证避免映射产生低效的SQL操作外,缓存是提升Hibernate的关键之一。加入缓存可以避免数据库调用带来的连接创建与销毁、数据打包拆包、SQL执行、网络传输,良好...
分类:
Web程序 时间:
2015-07-07 18:48:17
阅读次数:
173
状态模式
当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
主要解决的问题
当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。
状态模式的好处和坏处
将与特定状态相关的行为局部化,并且将不同状态的行为分割开...
分类:
其他好文 时间:
2015-06-30 22:02:51
阅读次数:
108
一. 类和模块1. 类的实现基于原型继承机制的。二. 类和原型三. 类和构造函数1. 构造函数是用来初始化新创建的对象的。2. 使用new,所以,构造函数只要初始化对象状态即可。3. 构建构造函数即是定义类,所以首字母要大写。4.四. 构造函数和类的标识五. constrctor属性1. const...
分类:
编程语言 时间:
2015-06-30 12:24:17
阅读次数:
166
(20)状态模式
定义:当-个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。)
类型:行为型模式
类图:
状态模式结构:
State:抽象状态角色,接口或抽象类,负责对象状态定义,并且封装环境角色以实现状态切换。
ConcreteState:具体状态角色,每一个具体状态必须完成两个职责:本状态的行为管理以及趋向状态处理,通俗地说,就是本状态下要做的事情,以及本状态如...
分类:
其他好文 时间:
2015-06-20 09:10:25
阅读次数:
86