设计模式:组件协作 设计模式:组件协作作者:wlai发布:2024-04-02更新:2025-02-09 现代软件专业分工之后的第一个结果是框架与应用程序的划分,组件协作模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 组件协作的典型模式: (1)Template Method (2)Strategy (3)Observer/Event 一、模板方法1.1 动机在软件构建过程 2025-02-09 设计模式 #设计模式 #软件设计
设计模式:面向对象设计原则 设计模式:面向对象设计原则作者:wlai发布:2019-12-01更新:2025-02-09 一、重新认识(抽象层面的)面向对象变化是软件复用的天敌!面向对象设计最大的优势是抵御变化! (1)理解隔离变化 从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。 (2)各司其职 从微观层面来看,面向对象的方式更强调各个类的责任。由于需求变化导致的新增类型不应该影 2025-02-09 设计模式 #设计模式 #软件设计
设计模式:简介 设计模式:简介作者:wlai发布:2019-11-30更新:2025-02-09 一、设计模式简介设计模式参考教材:《设计模式:可复用面向对象软件的基础》 1.1 什么是设计模式每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。 ———— Christopher Alexander 1. 2 从面向对象谈起有两种思维,分 2025-02-09 设计模式 #设计模式 #软件设计
C语言最佳实践:为性能编码 C语言最佳实践:为性能编码作者:wlai发布:2022-08-04更新:2025-02-09 一、什么是性能性能的两层含义: (1)空间复杂度(越低越好) (2)时间复杂度(越低越好) 优化性能:空间复杂度和时间复杂度的平衡 简单案例:编写函数返回一个字节中位值为一的位的个数 (1)版本一 没有废话,就硬算,然而效率不高。 123456789101112int count_one_bits(uns 2025-02-09 C语言最佳实践 #C #工程实践
C语言最佳实践:状态机 C语言最佳实践:状态机作者:wlai发布:2022-08-04更新:2025-02-09 一、状态机要解决的问题状态机所要解决的问题: (1)计算机最擅长处理重复性的工作 (2)现实世界中大量事物的工作流程取决于其他事物的状态 (3)状态机是针对多种状态之间的迁移而建立的一个简单数学模型 (4)状态机可用来指导硬件模块或者软件模块的设计 状态机的概念: (1)一个硬件或者一个软件模块 (2)我们给 2025-02-09 C语言最佳实践 #C #工程实践
C语言最佳实践:动态加载模块 C语言最佳实践:动态加载模块作者:wlai发布:2022-08-04更新:2025-02-09 一、可加载模块的应用场景可加载模块的应用场景 (1)可加载模块是子驱动程序模式的一种自然扩展 (2)为应对未来不可预知的扩展 (3)将某些功能的实现交给第三方独立模块实现 (4)软件模块间解耦的利器 二、可加载模块机制和策略再论机制和策略机制:需要提供什么功能 策略:如何使用这些功能 机制和策略是相对的 2025-02-09 C语言最佳实践 #C #工程实践
C语言最佳实践:子驱动程序模式 C语言最佳实践:子驱动程序模式作者:wlai发布:2022-08-02更新:2025-02-09 一、设计和编码水平弱的根本原因根本原因:抽象能力不足 (1)对事物的正确认知建立在归纳总结之上 (2)抽象是归纳总结的一种升华 (3)如何提高自己的抽象能力:多看多写 二、子驱动程序模式子驱动程序模式在大量的稍有规模的C项目中大量应用,比如: (1)Unix中的一切皆文件 (2)Unix/L 2025-02-09 C语言最佳实践 #C #工程实践
C语言最佳实践:解耦代码和数据 作者:wlai发布:2022-07-31更新:2025-02-08 一、为什么要解耦代码和数据解耦代码和数据的重要性: 简化代码,降低出错几率 对杂乱的代码做结构化处理 提高代码的可维护性 二、代码和数据解耦实践案例2.1 案例一:根据错误码返回错误信息12345678910111213// bad design caseconst char *my_error_message(int 2025-02-09 C语言最佳实践 #C #工程实践
C语言最佳实践:接口设计模式 C语言最佳实践:接口设计模式作者:wlai发布:2022-07-31更新:2025-02-08 一、好接口的标准是什么? (1)恰当的抽象,比如 POSIX的文件描述符 POSIX的DIRENT结构 STDC的FILE结构 (2)调用者友好 (3)符合惯例,学习成本低 (4)没有过度设计 (5)接口设计稳定,有助于提升软件质量与可维护性 二、两个接口设计原则 完备:完整 2025-02-08 C语言最佳实践 #C #工程实践
功能测试 一、hexo功能测试Quick StartCreate a new post1$ hexo new "My New Post" Run server1$ hexo server Generate static files1$ hexo generate Deploy to remote sites1$ hexo deploy 2025-02-06