下班了没事,设计模式之一角
闲来无事翻翻以前的文档,结合今天去面试了几个人而感,
一些公司常拿设计模式来考,特别是工厂相关模式,记得比较经典的就是普通员工、工程师和管理者的工资结算问题(工厂+策略)
有时我在想,针对这个需求有必要吗?我硬编码会怎么样(硬编码不一定就不是模块化编程)?代码量会更少,在增加新的一种角色计算时,增一个case未必会导致错误和难以维护,同样也要修改代码重新编译,只是放在别的类中抽象出多层。
再者如果角色增加比较多,我相信这种模式会比较烂更难以维护,代码量会倍量增加,其实我们的原则是抽象变化,举个具体例子:在配置表中维护角色和工资计算公式,以应变可能的变化。这样做在公式变化的情况下不会对代码做出修改,可维护性高,岂不是更好?
我不想把例子中的方法往哪种设计模式上靠,而只是想提出一种问题和想法,我觉得有些设计模式的书介绍其适应环境时应当介绍其度的问题,更觉的作为面试官不应一味问这些在他心中固定可事实可变的SB设计问题
这是怎么了,一天头晕乎乎的,都不知道自己说了些什么,只是看了一些过度设计和走套路的设计的感想,头痛,可能明天就不这么想了,哈哈,有错误的地方可以指正,谢绝谩骂,呵呵