zoukankan      html  css  js  c++  java
  • 代码整洁之道第六章——对象和数据结构

    第六章讨论的是对象和数据结构,读完之后的感觉是虽然我们天天都嚷着吼着要面向对象编程,但是很多时候我们都使用了类的退化结构,包括我们开发时经常使用的失血模型和贫血模型(事务脚本模式)都和面向对象的设计理念相违背。我得承认在读这一章的时候我可能没有抓住作者的观点。

    1、数据抽象

    要以最好的方式呈现某个对象包含的数据,做严肃的思考,不要乱加赋值器和取值器,这是最坏的选择。

    2、数据、对象的反对称性

    在任何一个复杂系统中,都会有需要添加新数据类型而不是新函数的时候。这时,对象和面向对象就比较适合。另一方面,也会有想要添加新函数而不是数据类型的时候。在这种情况下,过程式代码和数据结构更合适。

    3、得墨忒耳律

    更准确地说,得墨忒耳律认为,类C的方法f只应该调用以下对象的方法:
    由f创建的对象;

    作为参数传递给f的对象;

    由C的实体变量持有的对象。

    4、数据传送对象

    最为精练的数据结构,是一个只有公共变量、没有函数的类。这种数据结构有时被称数据传送对象,或DTO(Data Transfer Objects)。DTO是非常有用的结构,尤其是在与数库通信、或解析套接字传递的消息之类场景中。在应用程序代码里一系列将原始数据转换数据库的翻译过程中,它们往往是排头兵。

  • 相关阅读:
    DMN 决策逻辑与决策依赖之间的联系
    DMN 决策依赖DRG和DRD
    DMN 决策模型标记 介绍
    DMN 决策模型和标记 Decision Model And Notation
    RuleML 例子
    RuleML 例子
    RuleML 例子
    RuleML入门(下)
    RuleML 入门(上)
    osg 线框模式,点模式切换
  • 原文地址:https://www.cnblogs.com/dwx8845/p/14941205.html
Copyright © 2011-2022 走看看