面向对象和面向过程的区别--- 如何利用面向对象特性美化代码, 分层 ;

多种层级多种operation 处理查询;; ---树     另外一种方案是: 直接变成树, 攀攀的Node查询法,多层级,多operation ; 或者利用面向对象的特性, 把树的递归变成自然的方法调用;;   LogicalExpression 和 simpleExpression ...

2013-07-30 22:00:31

阅读数 1040

评论数 0

什么是数据结构

我思考一个问题, 与数据库的批量化交互, 我们获取的是一个 getMaterials() ,现在想利用materials获取到对应的Materials ; 首先获取到对应的ListIds ,可以对每个Materials实现接口, 不同的实体都实现这个接口以实现接口多态;; 然后通过sql批量获取;...

2013-07-30 21:55:42

阅读数 728

评论数 0

java 批量导入 java classpath 命令行

java 6 有通配符 , 即使不是java 6 也可以根据 shell的强大功能自动实现 批量 可以替代 ant 了 ,麻烦;; 我自己的案例: 以前用ant :   后来直接用java java -cp "/home/work/dataio/WEB-INF/lib/*...

2013-07-25 23:08:03

阅读数 1817

评论数 0

Generate JavaDoc with UML diagrams

优点在于提出了几个问题; 新接手一个项目代码,怎么阅读理解? 其实就是通过javadoc+ uml图; 并且能够实现交互,点击uml图能跳到对应的代码处(javadoc处);; Generate JavaDoc with UML diagrams Posted by...

2013-07-16 22:52:54

阅读数 1023

评论数 0

isdeleted 历史物料 的处理 , invalid 物料 ,,, 用 新的关系表字段 替代 类型字段

如果对一个实体表, 增加isDeleted 字段 , 这样就把历史, 过期的物料也加了进去; 这样以后每次用sql都需要把isDeleted这个字段加上去, 不然就会有问题;; 这样太麻烦了;; 好的原则是,从实体的角度; ad有三个位置,每个位置有三个物料单元; 1`.位置有多个物料历史; ...

2013-07-09 17:26:19

阅读数 929

评论数 0

删除

1. 每个实体都需要有状态 2. 当两个实体不是同时存在的时候,即使1:1也无法用下游实体代替上游实体的状态; 例如 订单行 ad 1:1 先有订单行 后有ad ; 如果只是把 订单行的状态设置在ad上; 那么你无法获取订单行是初始状态的情况( 订单行 left join ad 后 ad.stat...

2013-07-07 21:11:38

阅读数 1019

评论数 0

总结: 设计实体 和 ormapping 的思路

1. 抽象实体 2. 抽象关系, 关系必须要含有返回对象 , 注意区分是否是自关系 3. 重新整理返回对象, 可以考虑把List 变成 Map ,可以考虑LIst 变成 List 3.0 搞两个返回结果一样,但函数名不一样的关系是最不敢想的 3.1  3.1.把List业务实体> 整个抽象为...

2013-07-07 17:45:06

阅读数 674

评论数 0

技巧 改变实体性质(增加一个类型字段) , 增加一种关系 考虑上游下游的影响

实体间的关系应该考虑全量关系;; 1. 增加类型字段其实在某种程度上改变了实体类型; 一表多实体,继承方式也是通过sqlWhere区分开来的;;  如果实体世界还是一个实体,就会造成对上游下游的影响;; 案例一: materialUnit  的MapgetMaterisl  ,已经...

2013-07-07 15:21:07

阅读数 1089

评论数 0

基本实体--弱化到下游实体上 ;;; 上游的关系变成map set可以控制值,变成List 也可以,可控性更高

一个Ad有只能有3个物料, 每个物料一个位置;; Ad List getPositions Position  material getMaterial 这个一个实体关系,如果Position就是基本实体,那就可以简化为 Ad List getMaterials() 注意如果ge...

2013-07-07 14:19:14

阅读数 1130

评论数 0

immutable 通过构造函数控制,不提供Set方法

如果是immutable的,在实体世界里就是构造的时候可以改变list,以后都不能改变list,用以控制;; 而不是通过SetList方法中的  validate.assrt(list.size()=3 来控制); 只能控制个数,不能控制引用;; =============如果有个需求可以...

2013-07-07 14:09:14

阅读数 719

评论数 0

如何判断 业务实体 ,设计实体用 2表 还是 3表;

如何判断是  2表 还是 3表; Ad material 然后现在有个需求需要保存他们的快照;; ad下面有三种关系  1.1 List getCurrentMaterials()  1.2  List getHistoryAndCurrentMaterial(); 允许ad增加物料,...

2013-07-05 20:57:25

阅读数 877

评论数 0

oo设计中 一种关系组合 的两种实现 + 一个复杂关系 的两种实现

Ad material 然后现在有个需求需要保存他们的快照;; ad下面有三种关系  1.1 List getCurrentMaterials()  1.2  List getHistoryAndCurrentMaterial(); 允许ad增加物料,删除物料,个数不限制; 这个关系组合,...

2013-07-05 20:50:16

阅读数 703

评论数 0

避免一个关系就需要用一个外键来实现,或者一个关系表来实现的OO设计技巧;; 避免 外键爆炸

Ad material  List getCurrentMaterials()    List getHistoryAndCurrentMaterial(); 以上两种关系都是1:n ; 如何实现数据库;;  1. 每个关系利用一个外键; 2. 可以考虑 和1的外键进行捆绑,新增一个字段, ,,实...

2013-07-05 20:04:47

阅读数 769

评论数 0

重量级别--何为immutable,在拷贝,快照,而非历史需求中分析,如何利用immutable模式和跨设计实体后的业务实体关系 决定 设计实体 是否immutable , 以后业务操作该如何操作

Ad 1:n material 然后现在有个需求需要保存他们的快照;; ad下面有  1. List getCurrentMaterials()  另外一个是  2.   > getMaterialsSnapShots() ;   每隔1天存储一次当时的物料list ;;          ...

2013-07-05 20:02:58

阅读数 869

评论数 0

把关系表取个新名字,变成实体 N:N的实体关系 变成两个1:N 关系

N:N的实体关系,可以把关系变成一个实体, 这样N:N的关系就弱化成了 老实体 N:1  关系实体 1:N 老实体

2013-07-05 00:13:52

阅读数 1174

评论数 0

从实体到数据库表 设计技巧 ---- 合理使用 弱化 等技巧 ,避免增加过多的实体概念

从实体到数据库表 ---- 合理使用 弱化 等技巧 ,避免增加过多的实体概念 这次大搜索推送,开发官吧有了位置的概念, 第一位,第二位,第三位,位置的其实是一个实体,但是我把他弱化到了物料material的一个字段中(单纯的基本类型) ; 位置和物料的关系是1:N , PM其实是希望获得的是位...

2013-07-05 00:11:24

阅读数 716

评论数 0

<如何创建一个实体历史> 时间维度 让 1:n的 产生新的实体 或者关系

今天设计一个需求的时候发现一个有趣的问题,让我对对象世界,空间维度,时间维度又有了新的认识; 之前的表关系印象: n:n的实体关系可以只能通过关系表(共3个表 ,两个实体表,一个关系表)实现,   1:n的关系可以通过关系表(共3个表,两个实体表,一个关系表) ,也可以通过两个表实现 但是这次...

2013-07-04 23:55:22

阅读数 887

评论数 0

oo 设计 domain 设计 和 schema设计 实战

楼飞B218 7110 15:33:31 我现在从oo角度来思考了一下:目前一个materialUnit有多个materials,这个关系绑定在Material实体中的materialUnit这个属性上;现在需要有historyMaterialsList ,这个其实是新的关系, 在ormappin...

2013-07-04 16:45:30

阅读数 850

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭