几种不OO的设计
2019-04-12 本文已影响9人
这事情急不得
OO大法虽好,但即便是在MS这样的公司,也不是每个人都能理解的很深刻的,俗话说,过犹不及。有些脑洞大开的framework,初看不错,各种用法都很一致,但因过度抽象导致对debug十分不利。
这里总结几种不OO或者过度OO的设计,其实过度OO就等于不OO:
所有的Constants都在同一个文件里定义。
所有的依赖注入都在同一个文件里定义。
对于任何简单的操作,都想定义一个基类。
对于任何简单的操作,都想把它封装在一个class里。
代码里的所有object,当你在IDE看definition的时候,看到的都是基类。
代码里出现很多XXXManager,XXXProvider之类的类,这些类往往用来操作一堆某个基类继承下来的类。
一个没有成员变量的类。
在类里出现很多static方法。
妄图把类都划分到不同的component里面,component之间的通信由某个单独的类来统一处理。
请记住OO大法的几个最关键之处:
每个类必须有意义。
每个类必须有自己的操作。
每个类必须有自己的数据。
每个类必须和其他类通信。
每个类只做自己的事。
等到有code重复了,再考虑继承,不要一上来先写基类。