自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 优秀的软件工程师需要具备什么

优秀的软件工程师不仅要具备深厚的技术能力,还需要良好的沟通、团队协作和解决问题的能力。此外,他们要有持续学习的动力和对高质量工作的追求。通过不断积累经验,培养这些能力,软件工程师不仅能提高自身技术水平,还能推动整个团队和项目的成功。

2024-09-28 09:51:17 380

原创 【进阶编程】横向设计和纵向设计-常用的设计模式

在软件工程设计中,和是两种不同的设计思维方式或方法,涉及系统的架构布局、模块划分以及系统的耦合方式。这两种设计方法常用于大型软件系统的结构化设计中,以便更好地处理系统的复杂性、扩展性和维护性。

2024-09-28 09:50:17 341

原创 【进阶编程】领域驱动设计也没有那么神秘,试着去尝试使用它

为跨多个实体的业务逻辑提供一个独立的操作逻辑层。当某些业务逻辑不能自然地放入某个具体的实体或值对象时,使用领域服务封装这些操作。例如,“资金转账” 涉及多个账户,因此可以定义一个 “转账服务” 来处理这种逻辑。创建复杂对象或聚合,确保其符合业务规则。当创建聚合涉及复杂业务逻辑或对象的初始化时,可以通过工厂模式来封装创建逻辑,确保对象始终被正确构建。工厂可以是简单的静态方法,也可以是独立的工厂类。

2024-09-28 09:49:10 424

原创 【进阶编程】多态实现中虚方法和公共方法的区别以及使用

多态性virtual 方法支持运行时多态,子类可以通过 override 提供不同实现,运行时根据对象实际类型决定调用的版本。普通 public 方法不支持多态性,方法调用是静态绑定,调用的版本在编译时确定。重写virtual 方法允许子类重写。普通 public 方法不能被重写,只能被隐藏(通过 new 关键字)。调用方式通过父类引用或对象调用 virtual 方法时,会根据对象的实际类型执行重写后的方法。通过父类引用调用普通 public 方法时,执行的始终是父类版本的方法。

2024-09-28 09:47:52 98

原创 【进阶编程】“配置优于编码” 设计原则,你用到了吗

配置优于编码”是一种通过外部化配置来提高系统灵活性、可维护性和扩展性的设计原则,适用于复杂系统、多环境配置管理和云原生应用。通过减少硬编码依赖,增强了系统的适应性,但同时也需要对配置文件的复杂性和安全性进行有效管理。

2024-09-28 09:44:10 301

原创 【进阶编程】“约定优于配置” 软件设计原则

约定优于配置是一种通过合理的默认行为减少配置的设计原则。它通过简化配置、提高开发效率和代码可读性,广泛应用于现代开发框架和工具中。虽然可能在某些情况下略微降低了灵活性,但它大大简化了开发工作,是软件设计中的重要原则之一。

2024-09-28 09:42:54 345

原创 OpenCV4Net的开始【核心库】

OpenCvSharp 是 OpenCV 的一个 .NET 封装库,允许开发者在 C# 等 .NET 语言中使用 OpenCV 的功能。它提供了完整的 OpenCV API,使得图像处理、计算机视觉等任务在 .NET 环境下得以实现。

2024-09-28 09:40:26 227

原创 软件设计的主要目标

软件设计的主要目标包括可维护性可扩展性可重用性灵活性高内聚低耦合性能健壮性可读性和清晰性安全性以及用户体验。这些目标相互关联,软件设计需要在多个方面取得平衡,以确保系统的长期健康和稳定发展。

2024-09-28 09:39:15 271

原创 接口和抽象类的使用区别

共同基础行为:如果你希望不同的类共享一些共同的行为或状态,但每个类也有自己的实现方式,抽象类是最佳选择。例如,你可以创建一个 Animal 抽象类,其中包含所有动物的共有行为(如 Eat()),但每种动物可能有不同的吃饭方式。部分实现和重用:抽象类允许你在父类中提供部分实现,子类可以复用这些实现,也可以选择覆盖它们。模板方法模式:在需要创建模板方法模式时,抽象类是理想选择。模板方法模式允许你定义一个算法的骨架,而具体步骤由子类实现。示例接口。

2024-09-28 09:37:38 153

原创 【进阶编程】软件23种设计模式

23 种设计模式

2024-09-28 09:34:33 354

原创 软件开发务必知晓的软件开发准则

是确保软件质量和可维护性的一系列指导思想,它们帮助开发人员更好地理解软件系统的设计和实现,从而确保软件的长期稳定性和可扩展性。这些原则涵盖了从设计方法、开发模型选择到重视开发过程管理的各个方面,以确保软件能够满足用户需求。这些原则相互关联、相互影响,共同指导软件开发的全过程,从设计到实现,再到维护,确保软件的质量、可维护性和可扩展性‌。初学者应该尝试去理解这些原则,软件设计者应该掌握这些原则(避免被人说野路子编程)。‌:(前五个就是SOLID五大设计原则)

2024-09-28 09:28:38 69

原创 一键生成Web API客户端

在“添加服务引用”窗口中,选择 “Web” 选项卡,然后选择 “Web API”。你可以通过URL指定Web API的Swagger文档(通常是`swagger.json`或`openapi.json`文件)。在解决方案资源管理器中,右键点击你的项目,然后选择 **“添加”** > **“服务引用...”**。Visual Studio会根据API描述生成所需的C#代码,包括用于调用API的客户端类和方法。通过这些步骤,你就可以快速生成Web API的客户端代理,减少手动编写代码的工作量。

2024-09-28 09:27:25 83

原创 异步编程是多线程吗

工作十年了,刚开始对异步多线程了解的不深,曾经一度以为异步就是多线程实现的。:异步编程并不等同于多线程,但它们可以结合在一起使用。

2024-09-28 09:24:08 69

原创 异步和多线程的区别以及使用场景对比

总的来说,异步和多线程都是处理并发任务的重要工具,开发人员应根据具体的需求和场景选择合适的技术来实现并发任务的处理。倘若存在其他与.net 相关的问题,您可以通过私信与我交流。

2024-09-28 09:09:53 116

原创 【进阶编程】结合横向设计和纵向设计来分离业务领域类

纵向设计确保每个业务功能模块独立,便于模块化开发和维护,适合微服务架构和DDD中的聚合管理。横向设计帮助模块内部进行合理的职责分层,确保代码复用性和可维护性,适合复杂的分层系统架构。两者的结合可以有效分离业务领域类,既保持系统的模块化和独立性,又增强了各模块内部的结构清晰度。

2024-09-28 08:56:16 272

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除