01 2025 档案

摘要:《C# 核心技术指南》 下列阅读笔记基于《C#7.0 核心技术指南》,部分章节尚未完成梳理。以下是已完成的章节: 第1章 C#和.NET Framework简介 第2章 C# 语言基础 第3章 在C#中创建类型 第4章 C#的高级特性 第5章 框架概述 第6章 框架基础 第7章 集合 第8章 LIN 阅读全文
posted @ 2025-01-14 23:26 hihaojie 阅读(21) 评论(0) 推荐(0) 编辑
摘要:第9章 常用的设计模式 9.1 聚合组件(aggregate component) 聚合组件将多个 底层 类型集中到一个 简化的高层 类型中,用于支持常用场景。例如,E-mail 组件,把简单邮件传输协议(SMTP)、套接字、编码(encoding)等等集中在一起。 聚合组件的目的是提供一个 更高层 阅读全文
posted @ 2025-01-14 23:21 hihaojie 阅读(6) 评论(0) 推荐(0) 编辑
摘要:8.10 序列化(第二版) .NET框架提供了三种主要的序列化技术,如下: 数据协定(Data Contract) 序列化; XML 序列化; 运行时 序列化(二进制和SOAP) ​​ ​DO​:在设计新的类型时考虑到序列化。 如果类型实例需要持久化,或需要传输,则设计时要考虑如何序列化。 1 选择 阅读全文
posted @ 2025-01-13 23:19 hihaojie 阅读(4) 评论(0) 推荐(0) 编辑
摘要:第8章 使用准则 8.1 数组 ​DO​​​:公共 API 中 优先 使用集合, 避免 使用数组。 public class Order { public Collection<OrderItem> Items { get { ... } } ... } ‍ ​ ​DON'T​ ​: 不要 使用 r 阅读全文
posted @ 2025-01-13 23:13 hihaojie 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第7章 异常 7.1 抛出异常 ​DO​​​:操作失败应该通过 抛出异常 的方式报告,而非通过 返回错误码 。 ‍ ​CONSIDER​:在代码遇到严重问题且无法继续安全地执行时,要调用 ​System.Enviroment.FailFast​ ​ 终止进程,而不是抛出异常。 该方法会向 Windo 阅读全文
posted @ 2025-01-11 23:06 hihaojie 阅读(14) 评论(0) 推荐(0) 编辑
摘要:第6章 扩展性设计 6.1 扩展机制 6.1.1 非密封类 ​ ​CONSIDER​ ​​: 考虑 用非密封类(且不包含任何虚成员、受保护成员)为框架提供扩展性。 这种类提供的扩展性广受用户欢迎,且开销不高。 6.1.2 受保护的成员 ​CONSIDER​​:受保护的成员用于 高级 的定制方案。 用 阅读全文
posted @ 2025-01-10 23:21 hihaojie 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第5章 成员设计 5.1 成员设计的通用规范 5.1.1 成员重载 形参要求: ​DO​:在较长的重载中,应使用 描述 性的参数名来说明较短的重载使用的默认值。 以如下代码举例,ignoreCase 暗示“短重载大小写敏感”,如果参数名改为 caseSensitive,将不会隐含该含义。 publi 阅读全文
posted @ 2025-01-09 22:39 hihaojie 阅读(5) 评论(0) 推荐(0) 编辑
摘要:第4章 类型设计准则 ​DO​:类应该由一组定义明确、相互关联的成员组成。 一个类,如果能用一句话描述清楚它的用途,那么它的设计是优秀的。 4.1 类型(class、struct)和 namespace ​DO​:namespace 用于组织类,通过 namespace 将相关功能按层次铺开,但不要 阅读全文
posted @ 2025-01-09 22:35 hihaojie 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第3章 命名准则 3.1 大小写约定 3.1.1 标识符的大小写规则 ​DO​: 命名空间 、 类型 、 成员 和 泛型参数 ,使用 PascalCasing 风格命名。 ‍ ​DO​​:参数,使用 camelCasing 风格命名。 ‍ 标识符 大小写 示例 命名空间 Pacal namespac 阅读全文
posted @ 2025-01-08 23:34 hihaojie 阅读(23) 评论(0) 推荐(0) 编辑
摘要:第2章 框架设计基础 2.1 前言 ​DO​:框架应功能强大又易于使用。 框架中 20% 的内容是常用的,这部分值得我们投入主要精力;80% 是不常用的,但仍要实现它,尽管设计的繁杂、不那么完美。 ‍ ​DO​:要从 使用者 的角度出发设计框架。 不同的程序员(VB、C++、C#)编程风格不同、需求 阅读全文
posted @ 2025-01-08 23:33 hihaojie 阅读(12) 评论(0) 推荐(0) 编辑
摘要:第1章 导论 精心设计的框架所具备的品质: 简单的 框架设计的出发点应该是符合使用者直觉的、简单易用的。如果觉得当前功能过于复杂,最好的办法是把该功能从当前的发布版本中移除,在下一次发布前花更多时间去做正确的设计。 ‍ 设计代价高 框架的API应该单独花时间精心设计,而非一边实现一边设计。它不应该是 阅读全文
posted @ 2025-01-08 23:29 hihaojie 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第23章 并行编程 23.1 选择 PFX 的原因 服务器应用发挥多核心的优势十分容易(服务器应用可以通过每一个线程独立处理客户端的请求)。桌面程序发挥多核优势则比较困难了,我们通常需要对计算密集型的代码进行如下的处理: 将代码划分为多个小块; 通过多线程并行执行这些小块代码; 以线程安全和高效的方 阅读全文
posted @ 2025-01-06 22:58 hihaojie 阅读(4) 评论(0) 推荐(0) 编辑
摘要:第22章 高级线程处理 22.1 同步概述 多线程我们常需要一些同步结构进行线程间通讯。同步结构可以分为三类: 互斥锁 一次只允许一个线程执行特定的活动或一段代码。主要目的是令线程访问共享的写状态而不互相影响。互斥锁包括 lock​、Mutex​ 和 SpinLock​。 2. 非互斥锁 实现了有限 阅读全文
posted @ 2025-01-06 22:56 hihaojie 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第18章 程序集 概述 程序集是 .NET 中的基本 部署 单元,也是所有 类型 的容器。 程序集包含: 已编译的 类型 IL(中间语言) 代码 运行时 资源 用于版本控制、安全及其他程序集的引用信息 定义了类型解析和安全许可的边界 一般来说,一个程序集包含单个的 Windows 可移植执行文件(W 阅读全文
posted @ 2025-01-01 18:17 hihaojie 阅读(25) 评论(0) 推荐(0) 编辑
摘要:第17章 序列化 17.1 序列化概念 序列化和反序列化通常用于: 通过网络或程序边界传输对象 在文件或者数据库中保存对象 深拷贝 17.1.1 序列化引擎 下表列出了 .NET Framework 支持的 4 中序列化机制: C7.0 核心技术指南 第7版.pdf - p737 - C7.0 核心 阅读全文
posted @ 2025-01-01 18:16 hihaojie 阅读(8) 评论(0) 推荐(0) 编辑
摘要:第16章 网络 纲要 .NET Framework 在 System.Net.*命名空间中包含了支持各种网络标准的类,支持的标准包括 HTTP、TCP/IP 以及 FTP 等。以下列出了其中的主要组件: ​Webclient​ 类 支持通过 HTTP 或者 FTP 执行简单的下载/上传操作。 ​We 阅读全文
posted @ 2025-01-01 18:14 hihaojie 阅读(13) 评论(0) 推荐(0) 编辑
摘要:第15章 流与IO 15.1 .NET 流的架构 .NET 流的架构主要包含三个概念:** 后台存储 、 装饰器 以及 流适配器 **,如图所示: C7.0 核心技术指南 第7版.pdf - p655 - C7.0 核心技术指南 第 7 版-P655-20240216192328 ​​ 其中** 后 阅读全文
posted @ 2025-01-01 18:11 hihaojie 阅读(15) 评论(0) 推荐(0) 编辑
摘要:第14章 并发与异步 14.2 线程 进 程提供了程序执行的独立环境, 进 程持有 线 程,且至少持有一个 线 程。这些 线 程共享 进 程提供的执行环境。 14.2.1 创建线程 创建线程的步骤为: 实例化 ​Thread​ ​ 对象,通过构造函数传入 ​ThreadStart​ ​ 委托。 调用 阅读全文
posted @ 2025-01-01 18:09 hihaojie 阅读(8) 评论(0) 推荐(1) 编辑
摘要:第13章 诊断 13.1 条件编译 预编译的指令见 4.16 预处理指令,我们这里的条件编译用到的指令有: ​#if​​、#else​​、#endif​​、#elif​​ 条件编译指令可以进行 与 ​&&​ ​、 或 ​||​ ​、 非 ​!​ 运算。 预定义指令可以通过三种方式定义: 在文件中通过 阅读全文
posted @ 2025-01-01 18:07 hihaojie 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第12章 对象销毁与垃圾回收 销毁(disposal),指文件、锁、操作系统句柄和非托管对象的释放,相应的功能由 IDisposable 提供;垃圾回收,指托管内存不再使用后的定期回收,由 CLR 执行。 销毁通常是显式调用的;垃圾回收是自动执行的。 12.1 IDisposable​ 接口、Dis 阅读全文
posted @ 2025-01-01 18:05 hihaojie 阅读(21) 评论(0) 推荐(0) 编辑
摘要:第11章 其他 XML 技术 概述 System.Xml 命名空间由以下命名空间和核心类型构成: ​System.Xml.*​ ​XmlReader​ 和 XmlWriter​:高性能、前向读写的 XML 流 ​XmlDocument​:基于 W3C 标准 DOM(已过时)的 XML 文档 ​Sys 阅读全文
posted @ 2025-01-01 18:04 hihaojie 阅读(3) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示