杂谈

一直以来,我的博客访问量太少,而且回帖几乎为零。我就有点懒得写了。而且管于约瑟夫环的还留下个小bug也没人骂骂我,真是郁闷。
今天想来想去还是简单的写点小问题吧。
前天,在表达式解释器的设计中。我给一个小女生指出“浮点数字段缺省值应该是零”。同时我跟她说,空字符串不应该出现现在浮点数集合中。特别是,因为围绕浮点数构造的函数集合,如果引入了空字符串这种东西,很容易引入bug.
现在从这说起,扩展到程序的架构设计。
现设想,一个很泛化的应用实例,而且经常遇见。业务处理部分要处理一个树桩结构的内存对象,树状结构的全部结点保存在数据库中。很多人肯定会觉得太常见了,几乎每天都要遇到。
现在处理这个架构。我们需要三个对象对这三个主语进行描述。BEZI(bussiness), TREE, DBO.
1, TREE 和 DBO之间的关系是TREE是DBO在内存中的图(map or view).DBO 是由一组数据库对象——table 组成描述TREE.而TREE是一组oop对象。数据库对象是关系型的。而oop对象是树状的。废话说多了,只是强调一下,这里所说的对象都是由很多对象组成的。现在开始说重点,由于TREE反映了DBO而且严格反映它,因此对TREE的超做必须传递到对dbo的操作。因此DBO的状态集合必须属于TREE状态的子集。只有这样TREE和DBO才能构建起完整的事务。说到这,有经验的程序员会想到使用装饰器模式。而且可以提出来问题的难点在数据库实现了rollback这种状态,而TREE比较难实现——这就要看你的树的设计了。
2, 由于上面的设计,BEZI很显然可以直接对TREE进行操作,而且TREE的完整性由上面的设计保证了。BEZI通常是一个状态机因为,BEZI肯定是可以通过流程图画出来的。流程图肯定可以用有限状态机实现的。现在引入TREE。也就是在状态节点上有对TREE的操作,而且TREE也增加了状态上的事件。说了半天就是想说,BEZI对TREE是一种函数影射关系。有经验的人一下子就会说出观察者模式或消息模式。

3. 从上面的架构上看。出现几个重点环节。就是BEZI的操作集合,TREE的操作集合,以及TREE的操作集合能不能完整处理DBO的状态。
4, 如果要是想把系统作成一个动态系统BEZI的全部操作可不可以构造成代数系统。
问题有点发散,我也不知道为啥从哪个小问题写到这。但是反正我的博客也没人看,就瞎写写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值