算法设计应该依赖抽象而不是业务
摘要:
很多时候,算法的设计是归属于详细设计阶段的。一些公司甚至都没有设计而直接编码。这些往往导致很多算法的实现都混杂在业务模块中。典型的特点是,这些算法会依赖于业务实体的某些属性的实现。举一个简单的例子,我曾经做过一个项目中,遇到一个排序功能:分部整理。这个排序比我们以往所学的排序不一样,所以很多人都不将它作为算法来看待,而是直接做为业务逻辑功能进行实现。 排序的基础数据是清单(一个业务实体)的编码 排序的依据是清单编码在检索库中的顺序 如果你细心的话,就会发现,其实上面的两条,和我们的一般排序方法实现起来是一样的! 比较对象:字符串、整数、浮点数等等 比较方法:比较大小、大小写敏感等等 根据上面的 阅读全文
posted @ 2007-04-22 10:54 ohmyjava 阅读(214) 评论(0) 推荐(0) 编辑