首页 > 其他分享 >读书笔记7

读书笔记7

时间:2025-01-10 16:21:27浏览次数:1  
标签:法则 读书笔记 代码 并发 线程 模块 数据

第26节 解耦与得墨忒(tei)耳法则 1、把你的代码组织成最小单位(模块),并限制他们之间的交互。如果随后必须替换某个模块,其他模块仍能够继续工作。2、应使耦合减至最少。对象间直接的横贯关系,有可能很快带来依赖关系的组合爆炸。比如对某个模块的“简单”改动会传遍系统中的一些无关模块。3、函数的得墨忒耳法则,它规定了某个对象的任何方式都应该只调用属于以下情形的方法:它自身传入该方法的任何参数它创建的任何对象任何直接持有的组件对象4、得墨忒耳法则的好处是它使得代码的适用性更好,更健壮,但这也有一定的代价。如果某些解耦的操作很复杂,或者解耦带来某些时间和空间的重大开销,这时就需要根据实际情况考虑,可以暂时舍弃该法则。
第27节 元程序设计 1、元数据是关于数据的数据,即对应用进行描述的数据。典型情况,元数据在运行时,而不是编译时被访问和使用。2、我们想要让我们的系统变得高度可配置,像是屏幕颜色,提示文本等,这些应该作为配置项而不是作为代码集成到项目中。3、以声明方式思考(规定要做什么,而不是怎么做),并创建高度灵活的可适应的程序。结合元数据就是,将抽象放进代码,细节放进元数据。4、Enterprise Java Beans 是一个用于简化分布式、基于事务的环境中的编程框架。它处理了不同机器、在不同数据库供应商之间,不同线程及复杂平衡的事务。它的使用只需我们编写一个 bean,并将其放到 bean container 中。5、更好的协作式配置是让应用自身适应其环境,进行动态配置
。第28节 时间耦合 1、时间耦合就是关于时间的各种事项。2、软件设计中,时间的角色通常有两方面对我们来说很重要:并发(事情同一时间发生)、次序(事情在时间中的相对位置)。我们期望的是要容许并发,并考虑解除任何时间次序上的依赖。3、可以选择使用 UML 活动图进行工作流分析,以改善其并发性。4、在设计架构时,用服务进行设计而不是组件。饥饿的消费者模型是在多个消费者进程间进行快速而粗糙的负载平衡的一种有效途径。5、编写线性代码,我们很容易做出一些假定,把我们引向不整洁的编程。但并发会迫使你更仔细的对事情进行思考。6、尽可能使用线程安全的类,开发时也应尽可能设计线程安全的类。

标签:法则,读书笔记,代码,并发,线程,模块,数据
From: https://www.cnblogs.com/zhaoyaxuan2024/p/18664173

相关文章

  • Effective C++读书笔记——item12(自定义拷贝构造函数和拷贝赋值运算符可能出现的问题
    1.拷贝函数相关背景及编译器行为在面向对象系统中,拷贝构造函数和拷贝赋值运算符统称为拷贝函数,若不自行声明,编译器会按需生成默认的拷贝函数,其会拷贝被拷贝对象的全部数据。但当自行声明拷贝函数后,编译器若发现实现存在错误,往往不会主动提示,比如在新增数据成员却未更新拷贝函......
  • Effective C++读书笔记——item11(自赋值)
    自赋值相关问题自赋值情况示例明显的自赋值如w=w,还有不太容易辨别的情况,像a[i] =a[j](当i和j值相同)、*px=*py(当px和py指向同一对象)等,这些是由别名(有多种引用对象的方式)造成的,尤其在涉及引用、指针操作同类型多个对象以及继承体系中基类和派生类对象引用、指针转换时要考......
  • 《任何一种能够作为科学出现的未来形而上学导论》读书笔记2
    前言第一节形而上学的源泉原文如果想要把一种知识建立成为科学,那就必须首先能够准确地规定出没有任何一种别的科学与之有共同之处的、它所特有的不同之点;否则各种科学之间的界线就分不清楚,各种科学的任何一种就不能彻底地按其性质来对待了。这些特点可以是对象的不同,或者......
  • 《任何一种能够作为科学出现的未来形而上学导论》读书笔记1
    《任何一种能够作为科学出现的未来形而上学导论》其实算是《纯粹理性批判》的导读,众说周知康德的书不是一般的难以理解,所以《纯粹理性批判》出版的时候很多人是看不懂康德的思想的,甚至对其有所误解,所以康德又写了这本“导论”,并写下“如果有谁对于我作为导论而放在一切未来形而上......
  • Effective C++读书笔记——item8(析构函数与异常)
    析构函数引发异常的问题异常同时存在的隐患:C++虽未禁止在析构函数中引发异常,但坚决阻止这样做。以std::vector等容器包含对象为例,当容器析构时要析构其中元素,若在析构元素(如Widget类对象)过程中连续抛出异常,出现两个或多个活动异常时,程序可能会终止或者出现未定义行为,使用其......
  • Effective C++读书笔记——item2(const,enum,inlines取代#define)
    关于用常量取代#define的总体原则在编程中,应尽量减少预处理器(特别是#define)的使用,可通过合适的替代方式来避免#define带来的诸多问题,虽然不能完全消除预处理器相关指令(如#include、#ifdef/#ifndef仍有重要作用),但要让其使用频率降低。简单常量方面问题阐述:使用#defi......
  • 2024165读书笔记|《飞花令·合》——人生飘忽百年内,且须酣畅万古情
    2024165读书笔记|《飞花令·合》——人生飘忽百年内,且须酣畅万古情屈原班婕妤曹植刘绘卢思道卢照邻苏味道刘希夷李白高适杜甫司空曙白居易温庭筠韦庄窦叔向张泌林逋柳永晏殊欧阳修李觏舒亶秦观陈瓘李清照陆游辛弃疾姜夔蒋捷吴伟业纳兰性德张惠言邓廷桢《飞花令·合》......
  • 读书笔记~管理修炼~避免无意义的内卷
      剧场效应:避免无意义的内卷   电影院里,大家都在认真看电影。忽然,有一个观众站了起来,或许是想看得更清楚,或许是因为前面的人太高挡住了他。他站起来后,他后面的人也站了起来,然后陆陆续续周围的人都站了起来。最后,电影院里的人都站了起来,每个人都累,却没有得到更多的好处......
  • 读书笔记~管理修炼-学会往前看
    反事实思维:学会往前看   “要是早出门半小时就好了,现在就不会错过飞机了。”   “要是刚才没买那件衣服就好了,现在就能买这件了。”   “要是……就好了”,这样的句式出现,大概率代表了一种思维模式——反事实思维。   反事实思维是诺贝尔经济学奖丹尼尔......
  • 读书笔记3
    《程序员的修炼之道:从小工到专家》第八章主要探讨了如何进行有效的软件项目管理,以及在项目管理中的最佳实践。以下是这一章节的读书笔记,总结了重要观点和概念。软件开发不仅仅是编写代码,良好的项目管理是确保项目成功的关键要素。项目管理涵盖了计划、执行、监控和收尾等整个过程......