首页 > 其他分享 >3月阅读笔记3

3月阅读笔记3

时间:2023-03-27 14:13:45浏览次数:36  
标签:复杂度 笔记 忽略 细节 抽象 阅读 设计

无论是以何种方式来进行设计,小型项目也能和大型项目一样从精心的设计之中获益,而如果能认识到设计是一项明确的活动,你就更会获益匪浅。

设计过程充满了不确定性,因此设计技术也趋于探索性质

软件的首要技术使命:管理复杂度

设计特征:

最小复杂度
易于维护
松散耦合
可扩展性
可重用性
高扇入:大量的类使用某个给定的类
低扇出:一个类里少量/适量地使用其他的类
可移植性
精简性
层次性
标准技术:尽量少依赖外来的,尽量使用标准的、常用的

系统层设计图应该是无环图

抽象是一种能让你在关注某一概念的同时可以放心地忽略其中一些细节的能力——在不同的层次处理不同的细节。抽象的主要好处就在于它使得你能忽略无关的细节,抽象是我们用来得以处理现实世界中复杂度的一种重要手段

在设计一个类的时候,一项关键性的决策就是确定类的哪些特性应该对外可见,而哪些特性应该隐藏起来 (面向对象设计的原则)

标签:复杂度,笔记,忽略,细节,抽象,阅读,设计
From: https://www.cnblogs.com/lmyy/p/17261359.html

相关文章

  • 3月阅读笔记2
    软件构建是软件开发的核心活动;构建活动是每个项目中位移一项必不可少的工作软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(包括单元测试和集成测试)构建......
  • 3月阅读笔记1
    首先要明确开发计算机软件是一个复杂的工程,并不比建设高楼大厦简单。这项活动和传统的土木工程类有相似的部分,也有迥然不同的地方。主要有下面的几种活动(根据进程推动顺序......
  • pwn学习笔记-栈溢出
    背景知识 函数调用栈函数调用栈是指程序运行时内存一段连续的区域,用来保存函数运行时的状态信息。包括函数参数与局部变量等。称之为栈是因为在函数调用时,调用函数的......
  • 我试图通过这篇文章,教会你一种阅读源码的方式。
    你好呀,我是歪歪。是的,正如标题描述的这样,我试图通过这篇文章,教会你如何阅读源码。事情大概是这样的,前段时间,我收到了一个读者发来的类似于这样的示例代码:他说他知道这......
  • 转)关于逆问题(inverse problem)的阅读名单
    【注1】虽然咱不看这方面的内容,但是既然莫名其妙地下了这么个东西,就想着不能扔了,至少留一份于***当中。【注2】简单排版,但并未校正,无法保证质量。【注3】与原文不同,这里......
  • 阅读笔记-构建之法1
    《构建之法》第一章:软件=程序+软件工程。作为一名程序员,不能仅仅会写代码,深入了解一个软件是通过怎么样的层层工序制作出来,也是我们应当重点掌握的。文中通过生活实例,启发......
  • stm32学习笔记---i2c学习
    stm32学习笔记---i2c学习1、半双工,不能同时发送数据,一个设备发送另一个设备接受2、接受到数据有有应答3、能够挂在多个模块,且通信之间不受干扰,支持一主多从,多住多从4......
  • GNN(图)笔记
    图的基本概念不再详细描述有顶点(node,V)、边(edge,E),这里还有一个全局属性(global,U),但不知道具体表示什么边分为无向的边和有方向的边  三者都是通过向量来表示(embed......
  • 《构建之法》阅读笔记3
    第四章是《构建之法》中关于编程范式的章节,介绍了两种主流编程范式:面向对象编程和函数式编程。作者首先介绍了面向对象编程的概念和特点,通过一个简单的实例介绍了面向对象......
  • 轻松管理笔记,云端实现同步:Ihome主页插件的云笔记功能介绍
    IHome主页插件是一款方便实用的浏览器扩展,可以帮助用户快速访问常用的网站、应用和工具,提高上网效率和使用体验。它可以自定义主页,支持多种主题和布局,同时还提供了各种实用......