摘要: hibernate是对jdbc的一个轻量级封装,屏蔽了jdbc直接操作数据库的面向关系与面向对象的矛盾,采用面向对象编程,能够简化开发。 对象之间的依赖关系,继承关系我们都可以采用Hibernate映射到数据库中;jdbc对查询数据基本没有优化,而hibernate通过二级缓存进行搞性能优化,比如两条相同的查询语句,查询相同的数据,Hibernate首先会从数据库查找,第一次查询的时候,也会把查询的数据放入缓存中最备份,第二次查询的时候就不用访问数据库了,直接从缓存中获取,这就大大的优化的数据库。 JDBC与Hibernate在性能上相比,JDBC灵活性有优势。而Hibernate... 阅读全文
posted @ 2012-06-29 23:11 风叉叉 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 建造者模式: 将一个复杂对象的构建与它的表示部分分离,使得同样的构建过程可以创建不同的表示。 个人见解: 建造者模式是模版模式的加强版,每个实体类的构建更灵活。这种灵活的构建逻辑需要director来管理。模版: /** * 产品类 * @author Administrator * */public class Product { public void doSomething(){ //独立业务处理 }}/** * 抽象建造者 * @author Administrator * */public abstract class Builder { //设... 阅读全文
posted @ 2012-06-18 22:56 风叉叉 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 模版方法: 定义一个操作中的算法框架,而将一些步骤细节延迟到子类中实现。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。个人理解:模版方法将子类中的共有算法逻辑抽取出来定义在抽象类中,以便实现逻辑的统一管理;或者从另一个角度说,模版模式将一个规模比较大的算法分几步走,各个子逻辑由继承类实现,而抽象类定义接口和逻辑步骤。 好处:1、封装不变部分,扩展可变部分;2、提取公共部分代码,便于维护。3、行为由父类控制,子类实现模版: /** * 模版模式抽象类,将子类共有实现逻辑封装 * @author Administrator * */public abstract class... 阅读全文
posted @ 2012-06-18 15:21 风叉叉 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂模式:为创建一组相关或互相以来的对象提供一个接口,而且无需制定它们的具体类。抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂产生需要的对象是非常好的解决方式。即工厂方法只满足单一条件商品的创建,而若对商品进行另一条件分类时,就显得乏力了。抽象工厂是将工厂细分,通过接口回调子工厂的方式实现高内聚的。package demo;/** * 抽象产品类 * @author zhf * */public abstract class AbstractProductA { //每个产品共有的方法 public void shareMethod(){ ... 阅读全文
posted @ 2012-06-11 19:17 风叉叉 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 总观第一章,作者试图为我们讲述面向对象编程(oop)的核心思想,而我的见解是,对象是对具体事物的一种抽象,对象与对象直接的关系通过消息联系。关于类的三大特性:继承,多态,面向对象,这里不多说。第一章对我有感触的地方是:1.作者在提供服务角度为我们说明了在设计对象的时候,要站在功能角度,设计出高内聚实现单一功能的类。2.通过is-a 和is-like-a 的对比,揣明了java的继承和借口的本质区别。继承是is-a ,比如说“一个圆形就是一个几何形状”;而实现某接口的各个类之间,则是is-like-a的关系,它们之间功能相似,却各有独有的方法。 阅读全文
posted @ 2012-06-11 15:48 风叉叉 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 关于主题: 主题是一个样式集合,可用与重写android的外观。android中主题是受网页设计中css的启发,将屏幕上显示的内容与其外观或样式分离出来。 可以在res/values/styles.xml中定义自定义主题。关于菜单: android支持两种菜单:一种是在用户按下menu时弹出的菜单;一种是用户用手指按下屏幕不放(D-pad的中间不放)时弹出的上下文菜单。 一般来说,实现menu时,通过onCreateOptionsMenu()的覆写,用activity的getMenuInflater()返回一个MenuInflater,使之加载xml中定义的菜单. 添加设置:通过ac... 阅读全文
posted @ 2012-06-10 23:34 风叉叉 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 工厂模式: define an interface for creating an object, but let sub classes decide which class to instantiate.factory method lets a class defer instantiation to subclasses.(定义一个用于创建对象的接口,让子类决定实例化哪一个类、工厂方法使一个雷的实例化延迟到了子类)模版: //抽象产品类 public abstract class Product { //产品类的公公方法 public void method1(){... 阅读全文
posted @ 2012-06-10 19:12 风叉叉 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 单例模式: Ensure a class has only one instance and provide a global point og access to it. public class Singleton { private static final Singleton SINGLETON = new Singleton(); private Singleton(){ } public static Singleton getSingleton(){ return SINGLETON; } public static void d... 阅读全文
posted @ 2012-06-10 11:11 风叉叉 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 策略模式:define a family of algorithms,encapsulate each one,and make them interchangeable.策略模式三个角色: context:上下文角色,起承上启下封装作用,屏蔽高层模块对策略、算法的直接访问,封装可能存在的变化、 strategy:抽象策略角色,策略、算法家族的抽象、接口,定义每个策略或算法必须巨涌的方法和属性。 concreteStrategy:具体策略角色。 模版: public interface Stategy(){ public void doSomething(); } ... 阅读全文
posted @ 2012-06-10 10:55 风叉叉 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Android支持的单位:Px(像素):屏幕上的点In(英寸):长度单位Mm(毫米):长度单位Pt(磅):1/72英寸Dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在没英寸160点的显示器上,1dp=1pxDip=dpSp(与刻度无关的像素):与dp类似,单是可以根据用户字体大小首选项进行缩放建议:始终使用sp作为文字大小单位,dip作为其他元素的单位。 阅读全文
posted @ 2012-06-06 23:26 风叉叉 阅读(131) 评论(0) 推荐(0) 编辑