- 博客(24)
- 收藏
- 关注
原创 【设计模式】面向对象的设计模式概述
设计模式的灵感源于建筑领域。1977年,Christopher Alexander在《A Pattern Language》中提出253个建筑模式,强调“环境条件 - 目标问题 - 解决方案”的通用范式。1994年,GoF(四人组)将模式思想引入软件工程,出版《设计模式:可复用面向对象软件的基础》,总结23种经典模式(不包含简单工厂模式),奠定了现代软件设计的基础。设计模式是前辈们对面向对象编程设计中反复出现的问题总结的一套解决方案,是一种共享专家设计经验的总结。
2025-03-27 13:00:53
1216
原创 【设计原则】迪米特法则(LoD):降低耦合的设计智慧
迪米特法则(Law of Demeter,LoD),又称最少知识原则(Least Knowledge Principle),是面向对象设计中的重要原则之一。一个对象应该对其他对象保持最少的了解只与直接的朋友通信不要和"陌生人"说话该原则通过降低类之间的耦合度来提高系统的可维护性和代码质量。优势说明降低耦合度减少类之间的直接依赖提高封装性隐藏实现细节增强可维护性修改影响范围可控提升代码质量更清晰的类职责划分方便单元测试依赖关系简单明确注意事项。
2025-03-12 17:22:14
835
原创 【设计原则】合成复用原则(CRP):如何用组合构建更灵活的代码
优先使用对象组合(composition)而非类继承(class inheritance)来实现代码复用合成复用原则不是要完全否定继承,而是倡导更灵活的代码组织方式。系统扩展成本降低58%(根据笔者团队实践统计)单元测试覆盖率可提升至90%+功能模块的平均复用率提高3-5倍在实际项目中,建议结合领域驱动设计(DDD)的限界上下文来规划组件边界,同时利用C#强大的类型系统和依赖注入框架,构建出既灵活又高效的应用程序架构。
2025-03-12 17:05:19
1034
原创 【设计原则】接口隔离原则(ISP):打造高效可维护的代码架构
客户端不应该被强迫依赖它不使用的接口。一个类对另一个类的依赖应该建立在最小的接口上。接口隔离原则的核心价值提高系统灵活性降低模块耦合度增强代码可维护性促进并行开发效率未来发展趋势与领域驱动设计结合在微服务架构中的深化应用自动化接口分析工具的出现实际项目中的平衡点根据团队规模调整力度结合项目阶段灵活应用配合代码评审持续优化通过本文的详细分析和代码示例,我们可以看到接口隔离原则在构建健壮、可维护的系统架构中的重要作用。
2025-03-01 16:31:42
979
原创 【设计原则】依赖倒置(DIP):构建松耦合的高质量代码
依赖倒置原则是构建松耦合、高维护性系统的基石。明确的接口设计依赖注入容器合理的层次划分开发者可以创建出适应快速变化的现代应用程序。ASP.NET Core的依赖注入容器(如)为实践DIP提供了开箱即用的支持,使得遵循这一原则比以往任何时候都更加容易。
2025-02-28 14:16:32
651
原创 【设计原则】里氏替换原则(LSP):构建稳健继承体系的黄金法则
里氏替换原则(Liskov Substitution Principle, LSP)是面向对象设计SOLID原则中的"L",由Barbara Liskov在1987年提出。所有引用基类(父类)的地方必须能透明地使用其子类的对象子类必须完全实现父类的抽象方法子类可以扩展父类功能但不能改变原有行为子类方法的前置条件不应强于父类子类方法的后置条件不应弱于父类优先使用组合而非继承保持继承层次扁平化使用设计模式:策略模式模板方法模式装饰器模式定期进行代码审查编写契约测试。
2025-02-27 17:12:34
1007
原创 【设计原则】开闭原则(OCP):如何设计可扩展的代码
一个软件实体应当对扩展开放,对修改关闭。也就是说软件实体应尽量在不修改原有代码的情况下进行扩展。(在开闭原则的定义中,软件实体可以是一个软件模块、一个由多个类组成的局部结构或一个独立的类)
2025-02-25 16:57:07
789
原创 【深度学习】TensorFlow v2.16 Overview
模块是TensorFlow中组织代码的一种方式,将相关的功能和类封装在一起,方便用户使用和管理。每个模块都提供了特定领域的公共API。函数是一段可重复使用的代码块,用于执行特定的任务。TensorFlow中的函数提供了各种操作和计算方法。类是面向对象编程中的一种抽象,用于封装数据和方法。TensorFlow中的类提供了各种功能和数据结构。
2025-02-21 14:10:30
1094
原创 【开发环境】Conda命令用法
这是一个命令行工具的使用格式描述,一般来说,方括号 `[]` 表示其中的参数是可选的,而省略号 `...` 表示该参数可以重复出现。
2025-02-19 12:53:49
1530
原创 【机器视觉】Halcon 最新版本安装教程(HALCON 24.11.1.1 Progress-Steady)
注:如果使用评估版本,下载前先了解最新评估授权密钥所支持的版本。。近几年不同版本安装过程类似,均可参考本教程。
2025-02-14 18:09:46
10590
1
原创 【设计原则】面向对象的设计原则概述
对于面向对象软件系统设计而言,软件的可维护性和可复用性是用于衡量软件质量的两个非常重要属性。在面向对象设计中,可维护性和可复用是以设计原则为基础的,每一个设计原则都蕴含着一些面向对象设计的思想。面向对象设计原则也是设计模式的基础,每一个设计模式都符合一个或多个面向对象设计原则。:整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。:体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
2025-02-13 22:37:43
190
原创 【编程范式】面向对象编程[OOP]
面向对象编程是一种编程范式,它使用“对象”来表示数据和方法,以及对象之间的交互。面向对象编程的三大特征是继承、封装和多态,这些特性共同定义了面向对象编程的核心概念。
2025-02-12 22:43:25
812
原创 【编程语言】C#委托与事件
在C#中,事件是特殊的委托,通常在一个类中定义。在这个例子中,EventHandler是一个预定义的委托,它接受两个参数:一个object和一个EventArgs。你可以创建自己的委托来定义具有不同参数的事件。
2025-02-12 22:26:45
571
原创 【编程语言】C#套接字
所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口Socket是一种在计算机网络中进行通信的一种方式。它提供了一种用于不同计算机之间进行数据交换的接口。通过Socket,可以实现不同计算机之间的进程间通信,使得在网络上的计算机可以相互发送和接收数据。
2025-02-11 09:19:34
1014
原创 【编程语言】C#字段与属性
在C#编程中,通常推荐使用属性而不是字段来公开类的数据成员,因为属性提供了更好的封装和可维护性。字段通常应该被声明为私有的,并通过公共方法或属性来访问。 因此,在大多数情况下,你应该使用自动属性而不是公开的字段来公开类的数据成员。
2025-02-10 21:53:43
409
原创 【编程语言】C#关键字
C#是一种强类型的、面向对象的高级程序设计语言。var:隐式类型推断关键字,允许编译器根据右侧表达式的类型推断变量的类型。readonly:声明只读字段,其值只能在声明或构造函数中初始化。用于设置类、方法、属性等的访问级别。用于修饰类、方法、属性等。const:声明常量。用于控制程序的流程。
2025-02-09 15:32:47
1004
原创 【大模型】Ollama 更改镜像源,通过魔搭拉取模型
当前比较流行使用Ollama部署本地大模型,但是由于资源问题,经常会遇到下载速度很慢或下载不成功的问题。国内知名镜像源并没找到相应的镜像。以下介绍通过魔搭社区的模型库拉取大模型的方法:ModelScope2Registry 是 Ollama 到 ModelScope 的模型 Registry 镜像站 / 加速器,它为 ModelScope 补齐更多了 Ollama Registry Manifests 信息,使 Ollama 能够从 ModelScope 魔搭 更快的 拉取 / 下载 模型。
2025-02-09 13:43:32
9909
原创 【大模型】Ollama 本地部署DeepSeek模型,并通过ChatBox调用
1.访问2.按照安装向导的提示完成安装。安装完成后,打开命令行输入ollama -v,若显示版本号,则说明安装成功。3.对于 Windows 用户,如果想修改模型存储路径,可新建系统变量OLLAMA_MODELS来指定自定义路径。
2025-02-08 22:47:34
1624
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人