• 代码整洁之道第六章——对象和数据结构


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

    1、数据抽象

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

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

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

    3、得墨忒耳律

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

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

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

    4、数据传送对象

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

  • 相关阅读:
    BZOJ 1854 [Scoi2010]游戏
    【模板】二分图匹配-匈牙利算法
    BZOJ 1432 [ZJOI2009]Function
    BZOJ 1192 [HNOI2006]鬼谷子的钱袋
    BZOJ 1088 [SCOI2005]扫雷Mine
    BZOJ 1047 [HAOI2007]理想的正方形
    BZOJ 1034 [ZJOI2008]泡泡堂BNB
    BZOJ 1022 [SHOI2008]小约翰的游戏John
    LOJ 6278 数列分块入门2
    【BZOJ 1003】[ZJOI2006]物流运输(Dijkstra+DP)
  • 原文地址:https://www.cnblogs.com/dwx8845/p/14941205.html
Copyright © 2020-2023  润新知