18-表驱动法

这一章似乎是把sql的思想用到编码中来?

411页,if else 用表来代替,先看书,后续再写明,比如月份,写一张表

问题1:怎样从表中查询条目

问题2:表中应该放什么内容?数据、action、指针

实例1:if else月份用表代替,一个数组就搞定了

实例2:保险费率,根据不同年龄、吸烟、单身等各种条件的if else,用表代替

把上面每种情况都放入enum中(除了年龄),写一个子程序传入这些enum和年龄

总结:当逻辑过多时,就用表来描述,表的实现可以使数组、enum等。

 

数据会复杂到无法用if else!!

题外话:怎么抽象?抽象就是找共同点。。。。

题外话:面向对象和面向过程:面向过程用一个个函数去解决问题,相应的,面向对象用一个个类代替一个个过程。

419页,21种消息就需要写21个类,这本书竟然否定了面向对象的方法!之前都没看到过这样的书!!

 

只创建少数几个子程序,分别负责打印每一种基本数据类型,没明白

 数据比逻辑更为灵活

 

简单理解,所谓的上层就是界面层,所谓的底层就是一步步的子程序调用

解析和打印只用一个子程序,这个子程序里有case,但作者说可以抽象一个类,并生成6个子类来解决,作者对于抽象出来类这种操作,似乎很自然

如上的思考:

1)抽象出来的类和子类,都放在一个文件夹里?

2)基类的虚函数名称ReadAndPrint(驼峰),按单一原则,是否应该写成2个接口?

接下来又是用数组(表)来存放各类型的对象

 

filed[fieldType]:这就是表查找

维护:维护的意思就是增加内容,增加需求了

如果有增加了一种消息,那么无需修改代码(消息表还是要改的啊)

如果增加了一种类型,那么需要修改代码

 

使用多态和继承的设计,并不一定是好的设计!!!还可以用表驱动的方法代替!!423页。

面向对象方法的第一步就是去寻找共同点进行抽象

读到424页码

 

posted @   妖山鬼店  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示