NO.7 理论四:哪些代码设计看似是面向对象,实际是面向过程的?

三种违反面向对象风格的典型代码设计

  1. 滥用setter, getter方法
    在设计实现类的时候, 除非真的需要,否则尽量不要给属性定义setter方法,除此之外, 尽管getter方法相对setter方法要安全写,但是如果返回的是集合容器对象,那也要防范集合内部数据被修改的风险
    (OC 默认添加属性自带setter getter .....摊手, 只能通过相关的关键字去控制访问权限 )
  2. Constans类, Utils类的设计问题
    对于这两种类的设计,我们尽量能做到单一职责, 定义一些相对更细化的小类, 比如 RedisConstans, FileUtils, 而不是定义一个大而全的 Constans类 Utils类, 除此之外, 如果能将这些类中的属性和方法, 划分归并到其他业务类中, 那是最好不过的了, 能极大地提高类的内聚性和代码的可复用性.
  3. 基于贫血模型的开发模式
    关于这一部分,我们只讲了为什么这种开发模式是彻彻底底的面向过程编程风格, 这是因为数据和操作是分开定义在VO\BO\Entity和 Controller\ Server \ Respository中的, 至于为什么这种开发模式如此流行? 如何规避面向过程编程的弊端? 有没有更好地可替代的开发模式? 更多箱规按的问题, 本章节只需要知道有这么个东西就可以了(作者说的 哈哈),

你可能感兴趣的:(NO.7 理论四:哪些代码设计看似是面向对象,实际是面向过程的?)