自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArkData-关系型数据库

提供增删改查等接口支持直接运行用户输入的SQL语句满足复杂场景需求。

2025-07-26 21:49:16 368

原创 【HarmonyOS】ArkUI 布局与容器组件

在 HarmonyOS 应用开发中,优秀的界面布局是用户体验的基础。ArkUI 作为新一代声明式 UI 开发框架,提供了丰富多样的布局组件和容器组件,帮助开发者高效构建复杂界面。本文将系统性地介绍 ArkUI 的核心布局方式,包括线性布局、层叠布局、弹性布局等基础布局,以及列表、轮播、选项卡等高级容器组件。Swiper() {.aspectRatio(2) //宽高比为2Indicator.dot()// 小圆点.itemWidth(20)// 默认的宽.itemHeight(20)//默认的高。

2025-07-20 23:56:44 680

原创 【HarmonyOS】Stage模型

Stage 模型是 HarmonyOS 3.1版本开始新增的模型,也是目前HarmonyOS 主推且会长期演进的模型。在该模型中,由于提供了 AbilityStage、WindowStage 等类作应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。

2025-07-19 20:34:26 639

原创 TypeScript 数据结构实践:List、队列与栈的实现与应用

通过以上实现,深入了解了 List、队列和栈在 TypeScript 中的具体应用。List:提供灵活的随机访问和元素操作,适用于数据频繁增删改查的场景;队列:基于先进先出原则,常用于任务调度和消息处理;栈:基于后进先出原则,在函数调用、撤销操作等场景中发挥重要作用。在实际项目中,我们可以根据具体需求选择合适的数据结构,甚至结合多种数据结构来解决复杂问题。这些数据结构的实现还有许多优化空间,比如使用链表优化队列和 List 的插入删除性能等。

2025-06-15 17:30:46 782

原创 TypeScript 中的六大设计原则

原则核心思想TypeScript 实现方式SRP一个类只做一件事拆分职责,避免多功能耦合OCP扩展开放,修改关闭使用抽象类/接口 + 多态LSP子类可替换父类避免破坏父类行为,优先组合ISP接口尽量小拆分成多个专用接口DIP依赖抽象而非实现依赖接口 + DI(依赖注入)DRY避免重复代码抽取公共逻辑遵循这些原则,可以写出更易维护的 TypeScript 代码!

2025-06-08 17:36:24 425

原创 单例模式与工厂模式:核心思想与TS实现

单例模式(Singleton)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。简单工厂模式又称为静态工厂方法模式,它定义一个工厂类,根据传入的参数不同返回不同的产品实例。定义一个用于创建对象的接口,但让子类决定实例化哪个类。工厂方法让类的实例化推迟到子类。提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。单例模式:当你需要严格控制实例数量(如数据库连接池)。工厂模式:当你需要灵活创建对象(如UI组件库的多主题支持)。组合使用案例if (!// 使用。

2025-06-02 15:26:03 841

原创 TypeScript 语法糖详解

在编程世界中,语法糖(Syntactic Sugar)是指那些让代码更"甜"(更简洁、更易读)的语法特性。它们不会引入新功能,只是为现有功能提供更友好的表达方式。正如其名,这些特性就像给代码加了一层糖衣,让苦涩的复杂语法变得更容易"消化"。作为 TypeScript 开发者,我们每天都在使用各种语法糖,但你是否真正理解它们的本质?本文将深入探讨 TypeScript 中最实用的语法糖,揭示它们的等价形式,并讨论如何合理使用这些甜蜜的快捷方式。

2025-05-25 17:33:15 1937

原创 TypeScript 中的 Map 和 Set 详解

/ 明确指定键和值的类型// 正确// 错误,值应该是number类型// 复杂类型示例id: number;// 从现有类型派生Map类型// 明确指定值的类型// 正确// 错误,值应该是number类型// 复杂类型示例id: number;// 从现有类型派生Set类型特性MapSet存储内容键值对唯一值键/值类型任意类型任意类型主要方法遍历方式典型用途需要非字符串键的键值对存储值唯一性检查、集合运算是否有序插入顺序。

2025-05-18 17:01:49 2377

原创 Typescript中的泛型

泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。这种特性可以极大地增加代码的灵活性和可重用性。// 不使用泛型的例子 - 只能返回数字类型return arg;// 使用泛型的例子 - 可以返回任何类型Treturn arg;// 使用示例string// 类型为 stringnumber(100);// 类型为 number简单场景:优先使用单字母标识符 (T, K, V 等)复杂场景。

2025-05-11 11:24:46 1889 1

原创 深入理解面向对象编程:从概念到实践

面向对象是一种软件开发的编程范式、思维方式,它模拟了人类认识和理解世界的方式,将数据和操作数据的方法封装在一起,形成对象,并通过对象之间的交互来实现系统功能。面向对象编程以其独特的概念和优势,成为现代软件开发中不可或缺的编程范式。它不仅提供了一种更加自然和直观的编程方式,还通过代码复用、可维护性和可扩展性等特性,弥补了面向过程编程在复杂场景下的不足。然而,两种编程范式并非非此即彼:面向过程编程在小型工具开发、性能敏感场景(如嵌入式系统)中仍有一席之地;而面向对象编程更适合构建大型、高可维护性的软件系统。

2025-05-05 17:22:27 735

原创 Git入门

版本控制是对软件开发中各类文件变更的管理,是软件配置管理关键部分。它可以帮助开发者、团队或个人记录对文件的修改历史,方便回溯到特定的版本,协同工作以及管理项目的不同阶段。记录修改历史:详细记录每个文件在不同时间点的修改内容,包括谁进行了修改、修改的时间以及具体的更改内容等信息。这样可以方便随时查看项目的演变过程,了解各个功能或特性是何时以及如何被引入或修改的。版本管理:允许将项目的不同状态标记为不同的版本,例如 v1.0、v2.0 等。可以轻松地切换到不同的版本,进行查看、测试或回滚操作。

2025-04-27 18:03:04 843

原创 平衡二叉树

平衡二叉树是指一颗二叉树满足以下条件:1.它是一棵二叉搜索树。2.对于树中的任意节点,其左子树和右子树的高度差不超过1(平衡因子绝对值<=1)红黑树是一种自平衡二叉搜索树,通过在节点中增加颜色和约束规则确保树始终保持近似平衡,从而保证基本操作的时间复杂度为O(log n)。(任一节点左右子树的高度相差不超过两倍)//红黑树结点颜色定义,采用枚举类型//红黑树结点结构int data;//数据//颜色//左右孩子和父节点指针} RBNode;// 创建新结点。

2025-04-20 16:21:41 792

原创 二叉树(上)-数据结构

二叉搜索树(也称二叉排序树,二叉查找树):一颗二叉树,可以为空;如果不为空,满足以下性质:1.非空左子树的所有键值小于根结点的键值。2.非空右子树的所有键值大于其跟结点的键值。3.左右子树都是二叉搜索树。

2025-04-12 22:12:15 770 1

空空如也

空空如也

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

TA关注的人

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