机器视觉-c#单例类

什么是设计模式?

设计模式(Design pattern) 是解决软件开发某些特定问题而提出的一些解决方案.

通过设计模式可以增强代码的可重用性、可扩充性、 可维护性、灵活性。设计模式最终的目的是实现代码的 高内聚 和 低耦合。
什么是高内聚和低耦合?

举例一个现实生活中的例子,例如一个公司,一般都是各个部门各司其职,互不干涉。各个部门需要沟通时通过专门的负责人进行对接。在软件里面也是一样的 一个功能模块只是关注一个功能,一个模块最好只实现一个功能。这个是所谓的内聚,模块与模块之间、系统与系统之间的交互,是不可避免的, 但是我们要尽量减少由于交互引起的单个模块无法独立使用或者无法移植的情况发生, 尽可能多的单独提供接口用于对外操作, 这个就是所谓的低耦合

什么是单例模式?

单例模式是指一个类只允许存在一个实例对象。

该模式主要解决了全局变量的问题,在同一时间只有一个实例被使用,避免了多次重复实例化造成的资源浪费。

单例模式和静态类的区别

1)首先单例模式会提供给你一个全局唯一的对象,静态类只是提供给你很多静态方法,这些方法不用创建对象,通过类就可以直接调用;

2)单例模式的灵活性更高,方法可以被override,因为静态类都是静态方法,所以不能被override;

什么时候用静态类,什么时候用单例模式

首先如果你只是想使用一些工具方法,那么最好用静态类,静态类比单例类更快,因为静态的绑定是在编译期进行的。

当你需要比面向对象的能力时(如继承、多态)时,选用单例类,当你仅仅是提供一些方法时选用静态类。

相关推荐
zq_63895 分钟前
ObjectModel_diagram.pdf 文档详细总结
开发语言·matlab
影寂ldy15 分钟前
Modbus-ASCII 协议 + LRC校验
笔记·网络协议·c#
自己的九又四分之三站台1 小时前
C# 接入 RasterLite2:从原生 DLL 加载到 Coverage、Section、Tile 验证
开发语言·c#·地理信息
飞翔的火箭弹1 小时前
企业网络资产管理用什么系统工具
开发语言·网络·php
码云骑士1 小时前
116-Python调用GPT-4V分析图片-Base64编码-多图-JSON结构化输出
开发语言·python·json
88号技师1 小时前
2026年SCI-分数牛顿衍生优化算法Fractional Newton-derived optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
承渊政道1 小时前
【Python编程—从入门到实践】(Python操作列表深度教程:循环、切片、元组与代码风格)
开发语言·python·pycharm·列表·元组·切片
好名字都被猪取了-1 小时前
# C# 全栈开发资源包(.NET8/.NET10)
c#
布值倒区什么name1 小时前
Pycharm2026找不到编译器 点击运行运行不了
开发语言·python·pycharm
智购科技自动售货机工厂1 小时前
2026自动售货机电机驱动芯片选型:从L298N到DRV8870的工程实践~YH
大数据·开发语言·数据库·人工智能·单片机·嵌入式硬件·scikit-learn