首页 > 其他分享 >《构建之法》的阅读笔记

《构建之法》的阅读笔记

时间:2024-01-26 21:22:46浏览次数:28  
标签:原则 代码 笔记 强调 构建 Principle 阅读 Martin

《构建之法》是一本由美国计算机科学家、软件工程师Robert C. Martin所著的书籍,主要探讨了软件构建的原则和实践方法。以下是我对这本书的阅读笔记:

在《构建之法》中,Martin强调了良好的软件设计和构建的重要性。他提出的"SOLID"原则是书中的核心概念之一。这一原则分别代表了单一职责原则(Single Responsibility Principle)、开闭原则(Open/Closed Principle)、里氏替换原则(Liskov Substitution Principle)、接口隔离原则(Interface Segregation Principle)以及依赖反转原则(Dependency Inversion Principle)。这些原则共同构成了一个有机的框架,帮助开发人员设计出可维护、可扩展、可测试的软件系统。

单一职责原则要求一个类只负责一个职责,这有助于降低代码的复杂性。开闭原则强调系统设计应该对扩展开放,对修改关闭,使得系统更易于扩展而不影响现有功能。里氏替换原则强调子类应该能够替换其父类而不导致系统出现问题。接口隔离原则要求客户端不应该依赖它不需要的接口,这有助于防止系统出现冗余的依赖。最后,依赖反转原则要求高层模块不应该依赖于低层模块,而是应该依赖于抽象接口,从而降低系统的耦合度。

此外,Martin还提到了敏捷开发、测试驱动开发(TDD)和重构等实践方法。敏捷开发强调迭代、快速响应变化的开发方式,而TDD则强调在编写实际代码之前编写测试用例,以确保代码的质量。重构是一种对代码进行改进的过程,目的是提高代码的可读性、可维护性和性能。

总的来说,通过《构建之法》的阅读,我深刻理解了软件构建的基本原则和最佳实践。这本书不仅为我提供了深刻的理论基础,还为我提供了许多在实际项目中应用的实用建议。在今后的软件开发工作中,我将努力应用这些原则和方法,以构建更加健壮、可维护的软件系统。

标签:原则,代码,笔记,强调,构建,Principle,阅读,Martin
From: https://www.cnblogs.com/Hugo-Martin/p/17990762

相关文章

  • 【学习笔记】二分图的边染色
    定义首先定义无向图的边着色。对无向图\(G\)的边着色,要求相邻的边涂不同种颜色。若\(G\)是\(k\)-边可着色的,但不是\(\left(k-1\right)\)-边可着色的,则称\(k\)是\(G\)的边色数。记为\(\chi^{\prime}\left(G\right)\)。Vizing定理若\(G\)是简单图,那么有......
  • 安卓家庭记账本开发笔记2
    开发进度:完成app首页的每条支出的流水信息的绘制以及首页记录每月收入和支出总和的表头的绘制代码:1.流水信息的代码:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_widt......
  • 【学习笔记】线性基(删除操作待填)
    基本对于一个值域为1-N的集合S它的线性基的值域与S相同它的线性基中的元素个数小于等于logN集合S中任意数异或和存在于线性基中线性基任意数异或和存在于集合S中插入首先,线性基大体长这样XXXXX称为第[线性基中数的个数]个数口XXXX口口口XX口口口口X称为第1个数d[i]......
  • 可靠传输 (学习笔记)
    一、基本概念传输的可靠与否取决与数据链路层向上层提供的服务类型可靠传输就是实现“发送端发送什么,接收端就接收到什么”,而不会因为传输过程的误码而使得接收端受到的信息不全。二、应用情景一般情况下,有线链路的误码率较低,为了减小开销,并不要求数据链路层向上层提供可靠传......
  • 寒假学习笔记17
    代码时间(包括上课):5h 代码量(行): 博客数(篇):2 今天计划搭建项目,原本打算搭建普通的Javaweb项目(毕竟这个用得最久)但是因为本学期体会到了在.xml直接进行配置的甜,于是打开IDEA后又临时更改决定开始搭建以maven为基础的javaweb项目因为曾经在maven的基础上进行过JFinal项目的......
  • 树分治学习笔记
    点分治0.用处点分治一般用于树上路径的问题。比如求条数等。1.点分治过程选择一个根节点计算贡献,贡献一般有一下两种1.两个点的路径经过根节点2.两个点在同一个子树内然后把根节点删掉,分成若干棵树,对每一棵树做同样的操作然后每一次我们只需要计算两个点的路......
  • 构建之法2
    个人开发流程PSP(Personal Software Process)特点:不局限于某一种软件技术,而是着眼于软件开发的流程。不依赖于考试,而主要靠工程师自己收集数据,然后分析、提高。PSP依赖于数据(工程师输入数据的时间代价、数据可能遗失或者不准确的风险、可能会出现一些数据不利于工程师本人的情况)。......
  • openGauss学习笔记-208 openGauss 数据库运维-常见故障定位案例-TPCC高并发长稳运行因
    openGauss学习笔记-208openGauss数据库运维-常见故障定位案例-TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1.1问题现象TPCC高并发长稳运行因脏页刷盘效率导致性能下降,具体表现为:初始性能较高,随着运行时间增加,数据......
  • 20240126打卡——《构建之法》第5~8章
    第五章团队和流程5.2软件团队的模式主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式5.3开发流程①写了再改模式②瀑布模型(WaterfallModel)是一个项目开发架构,开发过程是通过设计一系列阶段顺序......
  • 构建外卖跑腿系统:技术实现与架构设计
    在当今数字化时代,外卖跑腿系统已成为人们生活中不可或缺的一部分。本文将探讨如何利用先进的技术和架构设计,开发一个高效、可靠的外卖跑腿系统。1.技术选型在开发外卖跑腿系统之前,我们需要仔细选择适合的技术栈,以确保系统的稳定性和扩展性。后端开发:使用Node.js、Express框架作为......