随笔分类 -  架构设计

摘要:这段代码是来自于一个真实的exe的反编译结果。我发布到社区里面之后,目前为止没有人能够给出我期望的看法或建议。 阅读全文
posted @ 2012-05-10 14:53 O.C 阅读(2728) 评论(8) 推荐(1) 编辑
摘要:规则 1:弄清楚将要开发的应用程序是什么性质的(OLTP 还是 OPAP)?规则 2:将你的数据按照逻辑意义分成不同的块,让事情做起来更简单规则 3:不要过度使用 “规则 2”规则 4:把重复、不统一的数据当成你最大的敌人来对待规则 5:当心被分隔符分割的数据,它们违反了“字段不可再分”规则 6:当心那些仅仅部分依赖主键的列规则 7:仔细地选择派生列规则 8:如果性能是关键,不要固执地去避免冗余规则 9:多维数据是各种不同数据的聚合规则 10:将那些具有“名值表”特点的表统一起来设计规则 11:无限分级结构的数据,引用自己的主键作为外键英文原文:11 Important Database de 阅读全文
posted @ 2012-05-01 22:00 O.C 阅读(834) 评论(1) 推荐(1) 编辑
摘要:“请对我的代码指手划脚”是我们群内搞的一个不定期的常规性活动,以代码审阅和细节重构为主线,大家可以自由发表自己的意见和建议,也算得上是一种思维风暴。感觉到这个活动很有意义,有必要总结并记录下来。 阅读全文
posted @ 2012-04-29 00:08 O.C 阅读(2796) 评论(5) 推荐(2) 编辑
摘要:“请对我的代码指手划脚”是我们群内搞的一个不定期的常规性活动,以代码审阅和细节重构为主线,大家可以自由发表自己的意见和建议,也算得上是一种思维风暴。感觉到这个活动很有意义,有必要总结并记录下来。今天我发起了4短代码,都有一定的代表性。今天我就其中的一个代码片段的重构做一个简单的总结和分享。 阅读全文
posted @ 2012-04-24 23:19 O.C 阅读(2891) 评论(13) 推荐(4) 编辑
摘要:解释型模板引擎与置换型模板引擎最大的区别是它支持流程控制语句,其次是支持对象访问(反射实现)。今天我们的任务是设计模板语法,给我们的后续开发提供依据。 阅读全文
posted @ 2012-04-19 10:00 O.C 阅读(3478) 评论(15) 推荐(6) 编辑
摘要:本课我们主要讨论“命令解释器”的实现。命令就是指令,指令也是构成更加复杂的模板引擎的基本元素之一。至此我们可以归纳出来,模板引擎在工作的过程中,首先将字符流转换为Token流,然后再将Token流转换为Element集合(也算是流),然后将特定的Element单独拿出来或组合在一起形成指令、语句等。写一个模板引擎,和写一个小型的编译器几乎相当,因此我们需要耐心、细心! 阅读全文
posted @ 2012-04-15 10:21 O.C 阅读(4147) 评论(3) 推荐(5) 编辑
摘要:与置换型模板引擎不同的是,解释型模板引擎包含了一个专用解释器,有了解释器的存在就可以支持一些更加复杂而严谨的语法。熟悉设计模式的朋友此时此刻应该能够回想起来“解释器模式”,它是将一些业务封装成一个或多个命令,然后通过一个复杂的解释器(Interpreter)来解析执行来满足生产需求的。实际上,解释型模版引擎就是一个较为复杂的解释器模式的实现而已。具体到模板引擎技术上来,解释器的工作任务实际上就小了很多。按照数据封装模式的不同,解释型模板引擎分为命令解释器和反射解释器两个大类。 阅读全文
posted @ 2012-04-09 09:01 O.C 阅读(5295) 评论(6) 推荐(4) 编辑