- 👉一、计数排序 👉1-1 介绍找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入数组C的第i项对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1 👉1-2 动态展示效果 👉1-3 算法代码如下using System.Collections;using Syst... 👉一、计数排序 👉1-1 介绍找出待排序的数组中最大和最小的元素统计数组中每个值为i的元素出现的次数,存入数组C的第i项对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加)向填充目标数组:将每个元素i放在新数组的第C(i)项,每放一个元素就将C(i)减去1 👉1-2 动态展示效果 👉1-3 算法代码如下using System.Collections;using Syst...
- 👉前言今天介绍一下经典的排序算法,代码全是C#写的,如需要其他语言的写法,请自行百度 👉一、冒泡排序 👉1-1 介绍重复遍历数组比较相邻的元素,如果前面的比后面的大,就交换它们两个每次遍历整个数组,遍历完成后,下一次遍历的索引减一(范围往左缩一位)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较,则排序完成 👉1-2 动态展示效果冒泡 👉1-3 算法代码如下u... 👉前言今天介绍一下经典的排序算法,代码全是C#写的,如需要其他语言的写法,请自行百度 👉一、冒泡排序 👉1-1 介绍重复遍历数组比较相邻的元素,如果前面的比后面的大,就交换它们两个每次遍历整个数组,遍历完成后,下一次遍历的索引减一(范围往左缩一位)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较,则排序完成 👉1-2 动态展示效果冒泡 👉1-3 算法代码如下u...
- 👉一、桥接模式(Bridge)介绍:Unity中的桥接模式(Bridge Pattern)是一种设计模式,主要用于将抽象部分与其实现部分分离,从而允许它们独立变化。这种模式特别适用于那些需要处理多个维度变化的情况,例如在游戏中角色和装备的多样化组合。桥接模式的核心思想是将抽象部分与实现部分分离,使得两者可以独立变化。在Unity中,这通常用于处理角色和装备的关系,使得每当新增角色或装备... 👉一、桥接模式(Bridge)介绍:Unity中的桥接模式(Bridge Pattern)是一种设计模式,主要用于将抽象部分与其实现部分分离,从而允许它们独立变化。这种模式特别适用于那些需要处理多个维度变化的情况,例如在游戏中角色和装备的多样化组合。桥接模式的核心思想是将抽象部分与实现部分分离,使得两者可以独立变化。在Unity中,这通常用于处理角色和装备的关系,使得每当新增角色或装备...
- 👉一、迭代器模式(Iterator)介绍:迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。代码如下:public interface IIterator<T> { bool HasNext(); T Next();} pub... 👉一、迭代器模式(Iterator)介绍:迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。代码如下:public interface IIterator<T> { bool HasNext(); T Next();} pub...
- 👉一、状态模式(State)介绍:在Unity中使用状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。在Unity中,状态模式通常用于实现角色的不同行为状态切换,例如玩家角色的行走、奔跑、跳跃、攻击等。代码如下:public interface IState { void HandleState(Context context);} public class... 👉一、状态模式(State)介绍:在Unity中使用状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。在Unity中,状态模式通常用于实现角色的不同行为状态切换,例如玩家角色的行走、奔跑、跳跃、攻击等。代码如下:public interface IState { void HandleState(Context context);} public class...
- 👉一、责任链模式(Chain of Responsibility)用于将请求的发送者和接收者解耦,使得多个接收对象都有机会处理同一个请求。当一个请求无法被一个对象处理时,它会沿着一个链传递,直到找到能够处理它的对象为止责任链模式定义了一个请求的传递和处理过程。具体来说,多个处理器(接收对象)依次处理同一个请求,直到某个处理器能够处理该请求为止。例如,一个采购请求可能会先由管理者处理,如... 👉一、责任链模式(Chain of Responsibility)用于将请求的发送者和接收者解耦,使得多个接收对象都有机会处理同一个请求。当一个请求无法被一个对象处理时,它会沿着一个链传递,直到找到能够处理它的对象为止责任链模式定义了一个请求的传递和处理过程。具体来说,多个处理器(接收对象)依次处理同一个请求,直到某个处理器能够处理该请求为止。例如,一个采购请求可能会先由管理者处理,如...
- 👉一、设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution Princip... 👉一、设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution Princip...
- 👉前言假设在一个游戏世界里,有不同类型的可交互物体,比如门(Door)和宝箱(Chest),当玩家靠近并按下交互键时,它们会执行各自特定的交互行为。我们通过定义一个接口来规范这些可交互物体的交互行为,然后让具体的物体类去实现该接口。博客将会介绍抽象类的方法。希望这篇博客对Unity的开发者有所帮助。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。欢迎点赞评... 👉前言假设在一个游戏世界里,有不同类型的可交互物体,比如门(Door)和宝箱(Chest),当玩家靠近并按下交互键时,它们会执行各自特定的交互行为。我们通过定义一个接口来规范这些可交互物体的交互行为,然后让具体的物体类去实现该接口。博客将会介绍抽象类的方法。希望这篇博客对Unity的开发者有所帮助。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。欢迎点赞评...
- 随着互联网技术的快速发展,API 设计模式也在不断进化。REST 和 GraphQL 是两种非常流行的 API 设计风格。本文将从概念、优缺点以及如何在 C# 中实现这两个 API 风格进行比较,并通过代码案例进行解释。 1. RESTful API 1.1 概念REST(Representational State Transfer)是一种软件架构风格,它定义了客户端和服务器之间的交互规则... 随着互联网技术的快速发展,API 设计模式也在不断进化。REST 和 GraphQL 是两种非常流行的 API 设计风格。本文将从概念、优缺点以及如何在 C# 中实现这两个 API 风格进行比较,并通过代码案例进行解释。 1. RESTful API 1.1 概念REST(Representational State Transfer)是一种软件架构风格,它定义了客户端和服务器之间的交互规则...
- 引言GraphQL 是一种用于 API 的查询语言,它提供了一种更有效和强大的方式来获取数据。与传统的 REST API 不同,GraphQL 允许客户端精确地请求所需的数据,从而减少了不必要的数据传输。然而,随着 GraphQL 应用的复杂性增加,性能问题也逐渐显现。本文将从常见的性能问题入手,逐步探讨如何优化 GraphQL API。 常见性能问题N+1 查询问题 N+1 查询问题是 ... 引言GraphQL 是一种用于 API 的查询语言,它提供了一种更有效和强大的方式来获取数据。与传统的 REST API 不同,GraphQL 允许客户端精确地请求所需的数据,从而减少了不必要的数据传输。然而,随着 GraphQL 应用的复杂性增加,性能问题也逐渐显现。本文将从常见的性能问题入手,逐步探讨如何优化 GraphQL API。 常见性能问题N+1 查询问题 N+1 查询问题是 ...
- 前言今天大姚给大家分享一个基于C#开源、功能强大、灵活的跨平台开发框架:Uno Platform。通过 Uno Platform,开发者可以利用单一代码库实现多平台兼容,极大地提高了开发效率和代码复用性。项目介绍Uno Platform是一个基于C#开源、功能强大、灵活的跨平台开发框架,用于快速构建单一代码库原生移动、Web、桌面和嵌入式应用程序。它允许 C# 和 WinUI XAML 和/... 前言今天大姚给大家分享一个基于C#开源、功能强大、灵活的跨平台开发框架:Uno Platform。通过 Uno Platform,开发者可以利用单一代码库实现多平台兼容,极大地提高了开发效率和代码复用性。项目介绍Uno Platform是一个基于C#开源、功能强大、灵活的跨平台开发框架,用于快速构建单一代码库原生移动、Web、桌面和嵌入式应用程序。它允许 C# 和 WinUI XAML 和/...
- 前言今天大姚给分享2个C#/.NET开源且功能强大的网络通信框架,希望可以帮助到有需要的同学。NetCoreServerNetCoreServer是一个.NET开源、免费(MIT License)、快速、低延迟的异步套接字服务器和客户端库。它支持多种协议,包括 TCP、SSL、UDP、Unix Domain Socket、HTTP、HTTPS 和 WebSocket,并且能够处理高达10K并... 前言今天大姚给分享2个C#/.NET开源且功能强大的网络通信框架,希望可以帮助到有需要的同学。NetCoreServerNetCoreServer是一个.NET开源、免费(MIT License)、快速、低延迟的异步套接字服务器和客户端库。它支持多种协议,包括 TCP、SSL、UDP、Unix Domain Socket、HTTP、HTTPS 和 WebSocket,并且能够处理高达10K并...
- 项目介绍MudBlazor是一个基于Material Design风格开源、免费(MIT License)、功能强大的Blazor组件框架,注重易用性和清晰的结构。它非常适合想要快速构建Web应用程序的 .NET 开发人员,无需费力地处理 CSS 和 JavaScript。由于MudBlazor完全使用C#编写,因此你可以自由地调整、修复或扩展该框架。文档中有大量示例代码,能够帮助开发者快速... 项目介绍MudBlazor是一个基于Material Design风格开源、免费(MIT License)、功能强大的Blazor组件框架,注重易用性和清晰的结构。它非常适合想要快速构建Web应用程序的 .NET 开发人员,无需费力地处理 CSS 和 JavaScript。由于MudBlazor完全使用C#编写,因此你可以自由地调整、修复或扩展该框架。文档中有大量示例代码,能够帮助开发者快速...
- 在软件开发过程中,单元测试是一种非常重要的质量保证手段。它可以帮助开发者验证代码的功能是否按预期工作,及时发现并修复错误。NUnit 是一个广泛使用的 .NET 单元测试框架,本文将从基础到进阶,介绍如何使用 NUnit 进行单元测试,并探讨一些常见的问题和易错点。 什么是单元测试?单元测试是对软件中的最小可测试单元进行检查和验证的过程。这些单元通常是类或方法。通过编写单元测试,可以确保每个... 在软件开发过程中,单元测试是一种非常重要的质量保证手段。它可以帮助开发者验证代码的功能是否按预期工作,及时发现并修复错误。NUnit 是一个广泛使用的 .NET 单元测试框架,本文将从基础到进阶,介绍如何使用 NUnit 进行单元测试,并探讨一些常见的问题和易错点。 什么是单元测试?单元测试是对软件中的最小可测试单元进行检查和验证的过程。这些单元通常是类或方法。通过编写单元测试,可以确保每个...
- 在面向对象设计模式中,组合模式(Composite Pattern)和外观模式(Facade Pattern)是非常实用且常见的两种模式。本文将从基础概念出发,逐步深入探讨这两种模式的应用场景、实现方式以及一些常见的问题和解决方法。 一、组合模式(Composite Pattern) 1. 基本概念组合模式允许你将对象组合成树形结构来表示“部分-整体”的层次关系。通过这种方式,客户端可以统一... 在面向对象设计模式中,组合模式(Composite Pattern)和外观模式(Facade Pattern)是非常实用且常见的两种模式。本文将从基础概念出发,逐步深入探讨这两种模式的应用场景、实现方式以及一些常见的问题和解决方法。 一、组合模式(Composite Pattern) 1. 基本概念组合模式允许你将对象组合成树形结构来表示“部分-整体”的层次关系。通过这种方式,客户端可以统一...
上滑加载中
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签