随笔分类 -  读书笔记

摘要:业务层模式复合实体(将来自不同来源的数据集中到一个单独的对象中,以减小复杂性和通信开销)领域对象模型(创建代表底层应用概念的一个对象,与特定领域相关)数据传递模式(为发送和接收数据使用DTO)行集DTO(执行数据查询并将结果转换成行集DTO) 业务层数据库模式DAO工厂(用于集中创建DAO的工厂,以便在运行时集中配置DAO的属性,多使用反射)数据访问对象(将持久化机制从数据处理代码中分离出来)Is... 阅读全文
posted @ 2006-07-16 13:48 quitgame 阅读(1031) 评论(0) 推荐(0) 编辑
摘要:表现层模式 装饰器 (动态添加功能到前端控制器,Filter)前端控制器(创建一个统一的集中的组件来执行公共的功能--截获所有请求,Struts)MVC(将表达层分解为自包含的可重用的几个部分,Struts)复合视图(根据几个可重用的子视图建立一个试图,Tiles)服务工作者(将导航功能从前端控制器中解耦出来,Struts,JSF)视图助手(将模型数据类型转换成表现层形式,JSP 标签) 表现层伸... 阅读全文
posted @ 2006-07-16 13:46 quitgame 阅读(870) 评论(0) 推荐(0) 编辑
摘要:过程和方法对于结果只有次要影响,首要的影响是人。 人不是插入即兼容的编程装置,如果想要项目取得成功,就必须构建起具有合作精神的自组织的团队。 合作、沟通以及交互能力要比单纯的编程能力更为重要。 过多的文档比过少的文档更糟,编写以及代码的同步会花费更多的时间。直到迫切需要并且意义重大时,才来编写文档。 成功的项目需要频繁、有序的客户反馈。成功的关键在于和客户之间真诚的合作。 在“充满激烈讨... 阅读全文
posted @ 2006-02-08 19:34 quitgame 阅读(811) 评论(2) 推荐(0) 编辑
摘要:并发管理的正确目标是尽量增加对数据的正确访问,同时减少冲突 离线并发模式有两种:使用乐观离线锁、使用悲观离线锁 离线锁可以理解为一种非服务器管理的锁,或者说是自管理的锁,应用在适当的地方注册锁,获取数据,然后离线,并对数据进行离线的操作;其他的应用通过检测已经注册的锁来决定是否进行并发操作 1. 悲观离线锁 悲观离线锁假设会话冲突的可能性很大,从而对系统的并发进性进行限制 在... 阅读全文
posted @ 2005-12-16 23:27 quitgame 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:《企业应用架构模式》(POEAA)读书笔记 (1) -- 企业应用的特点 《企业应用架构模式》(POEAA)读书笔记 (2)-- 表述 领域逻辑模式分为 事物脚本、领域模型、表模块和服务层四种模式 很多设计者喜欢把业务逻辑分成两类:领域逻辑和应用逻辑,前者只与问题领域有关、而后者有时被称为工作流逻辑 1. 事物脚本 通过使用SQL语句或者存储过程返回记录集,记录... 阅读全文
posted @ 2005-12-16 22:11 quitgame 阅读(1758) 评论(2) 推荐(0) 编辑
摘要:《企业应用架构模式》 本书作者(Martin Fowler)是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。本书获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。本书分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是本书的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整本书中还用了大量UML图来进一步阐明有关概念。 本书是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。 阅读全文
posted @ 2005-11-15 21:59 quitgame 阅读(2551) 评论(0) 推荐(0) 编辑
摘要:Fowler 的 POEAA这本书出来好多年了,可是偶还是最近才看。主要是因为不像看英文版的-- 太浪费时间了 好不容易买到 POEAA 的中文版 , 赶紧发疯的看。什么是架构 Rolph Johnson认为:架构是一种主观上的东西,是专家级的项目开发人员对系统设计的一些可共享的理解 架构中包括一些决定,开发者希望这些决定能尽早作出,因为在开发者看来它们是难以改变的。 如果你发现某些... 阅读全文
posted @ 2005-11-06 20:22 quitgame 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:1. 类与类之间的关联 如果两者都是 Reference objects ,而其间的关联是一对多的关联,那么应该由[拥有单一reference]的一方承担[控制者]的角色 如果某一对象是另一对象的组成部分,则应该由后者控制关联性 如果都是object reference ,而且关系是多对多, 则无所谓那个控制 2. 封装值域 否则其他对象可以访问甚至修改这项数... 阅读全文
posted @ 2005-11-06 18:19 quitgame 阅读(408) 评论(0) 推荐(0) 编辑
摘要:SRP,单一职责原则:就一个类而言,应该仅有一个引起它变化的原因 · 将过多的职责耦合在一个类中导致了脆弱设计 · 职责是变化的原因 · 如果应用程序变化的方式总是导致两个职责同时变化,则不应该分离他们 · 把业务规则和持久化子系统绑定在一起是自讨苦吃,这违反了单一职责原则。可以使用 Facade 或者 Proxy 模式进行重构,以解... 阅读全文
posted @ 2005-11-06 17:54 quitgame 阅读(559) 评论(0) 推荐(0) 编辑
摘要:测试 编写单元测试是一种验证行为,更是一种设计行为 测试先行,迫使我们把程序设计为可测试的 测试是无价的文档 在编写代码前先编写测试改善了设计 为了使验收测试无须通过用户界面就能获得对业务规则的访问,我们需要解除业务规则和用户界面的耦合。 拙劣设计的症状 僵化性:难以改变,改变时将导致连锁更改 脆弱性:易于被破坏,更改将导致连锁问题 牢固性:代码有用,但难以重用 粘滞性:... 阅读全文
posted @ 2005-11-06 17:16 quitgame 阅读(580) 评论(0) 推荐(0) 编辑
摘要:9. Java异常 Exception 的基类是 Throwable ,Throwable的子类中,只有Exception是需要被捕捉的,也就是checked exception;另外两个,一个是 RuntimeException和Error对象,这两种Throwable不需要捕捉,前一个是运行时错误,后一个表示系统错误。 Java的方法有的时候会要求写出异常说明(void method() th... 阅读全文
posted @ 2005-06-29 08:29 quitgame 阅读(470) 评论(0) 推荐(0) 编辑
摘要:从C#转向Java是否是一种倒退?经过一段时间的学习偶发现C#确实是克隆了Java的很多东西,但是在某些方面,C#作了很大的改进1. Java的基本类型(值类型)只有以下几种 byte(8) char(16) boolean(-) short(16) int(32) long(64) float(32) double(64) Java 没有无符号类型 对应的引用类型为 Byte (8) Char... 阅读全文
posted @ 2005-06-27 08:38 quitgame 阅读(649) 评论(0) 推荐(0) 编辑