- 博客(13)
- 收藏
- 关注
原创 适配器模式(Adapter Pattern)
适配器模式是一种结构型设计模式,用于解决接口不兼容问题。其核心思想是通过创建中间层(适配器),将现有接口转换为客户端期望的接口。模式包含四个角色:目标接口(客户端期望的接口)、被适配者(需要转换的现有接口)、适配器(执行转换的中间层)和客户端使用者。代码示例展示了JSON与XML数据格式转换的实现,通过适配器将JSON接口适配到XML解析器上。C#和C++实现的主要区别在于接口定义方式和内存管理机制。适配器模式提高了代码复用性,使不兼容的类能够协同工作。
2025-09-25 01:35:39
755
原创 单例模式(Singleton Pattern)
摘要: 单例模式确保一个类仅有一个实例,并提供全局访问点。核心特性包括私有构造函数、静态私有实例和静态公有方法。实现方式包括: 懒汉式:延迟初始化,但非线程安全; 饿汉式:线程安全但提前初始化; 线程安全懒汉式:通过互斥锁实现双重检查锁定; 局部静态变量(Meyers单例):简洁且线程安全(C++11及以上)。典型应用如日志系统,需确保全局唯一实例及线程安全操作。各实现方式需权衡性能、资源消耗与线程安全性。
2025-09-21 16:58:24
486
原创 原型设计模式(Prototype Pattern)
本文介绍了原型设计模式在C++游戏敌人生成中的应用。原型模式是一种创建型设计模式,通过复制现有对象来创建新对象,避免重复初始化代码。文章包含以下内容: 原型模式定义:允许无依赖地复制对象,无需了解对象内部细节。 主要结构: 原型接口声明克隆方法 具体原型实现克隆 客户端使用接口创建对象 完整C++实现: 定义Prototype基类和Enemy抽象类 实现具体敌人类型(兽人、精灵弓箭手、龙) 每个具体类实现clone()方法进行拷贝 包含战斗能力和特殊技能等游戏相关功能 该模式特别适合需要创建相似对象但初始化
2025-09-21 00:00:18
973
原创 建造者模式(Builder)
本文介绍了建造者设计模式的概念及其在房屋建造场景中的实现。建造者模式是一种创建型设计模式,它将复杂对象的构建过程与对象表示分离,使相同的构建过程可以创建不同表示的对象。文章通过C++代码示例详细展示了如何用建造者模式构建具有多种属性(如地址、面积、朝向、层数、屋顶类型等)的房屋对象。实现包含抽象建造者基类和具体建造者类,通过链式调用方法逐步构建房屋对象。该模式特别适用于需要分步骤创建复杂对象的场景,提高了代码的灵活性和可维护性。
2025-09-19 20:35:30
789
原创 抽象工厂模式(Abstract Factory Pattern)
本文介绍了抽象工厂模式的设计与实现。通过一个RPG游戏案例,展示了如何使用抽象工厂创建武器和防具的关联产品族。文章详细说明了抽象工厂的五个构成要素:抽象产品、具体产品、抽象工厂、具体工厂和客户端。对比了工厂方法模式和抽象工厂模式的区别,列举了GUI框架、游戏开发等典型应用场景,并分析了该模式的优缺点。抽象工厂模式能够确保产品兼容性,实现客户端与具体类的解耦,但也存在扩展新产品类型困难的问题。这种模式特别适合需要创建相关产品族的场景。
2025-09-15 02:38:21
1394
原创 工厂方法模式(Factory Method)
工厂方法模式是一种创建型设计模式,它提供了一种将对象实例化过程封装起来的方法,让子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类中进行。概括来说就是:在父类中提供一个创建对象的接口来让子类决定具体实例化什么类型的对象。在游戏中,我们需要设计多种武器种类,每个武器和道具都有不同的属性功能以及品质等等私有字段,这种情况下,我们便可以借助武器装备道具工厂对象根据游戏状态或者玩家操作动态地创建具体的装备对象。例如:我们定义了一个武器基类Weapon,其中有一个纯虚方法use代表使用这把武器的逻辑。
2025-09-13 03:45:00
1492
原创 设计模式分类
设计模式分为三大类23种:创建型(5种,如工厂方法、单例)、结构型(7种,如适配器、代理)和行为型(11种,如观察者、策略)。每种模式针对特定设计问题提供解决方案,如创建对象、接口适配或对象间通信。模式间可组合使用(如抽象工厂+工厂方法),学习时应先理解设计原则,从常用模式入手,结合实际场景避免过度设计。设计模式能提升代码的可维护性和复用性,但需合理运用。
2025-09-12 07:59:38
958
原创 面向对象六大设计原则
面向对象六大设计原则(SOLID+LoD)是构建高质量软件系统的核心准则: 单一职责原则(SRP):每个类只应有一个职责 开闭原则(OCP):对扩展开放,对修改关闭 里氏替换原则(LSP):子类必须能替换基类而不破坏程序 接口隔离原则(ISP):避免庞大接口,拆分为专用小接口 依赖倒置原则(DIP):高层模块和低层模块都应依赖抽象 迪米特法则(LoD):尽量减少对象间的直接交互 这些原则共同指导开发者创建可维护、可扩展且灵活的软件系统。遵循这些原则可以降低耦合度,提高代码复用性,并使系统更易于理解和修改。
2025-09-12 07:52:48
869
原创 基础概念(需要用到的基础知识)
本文介绍了面向对象编程的核心概念。面向对象是一种程序设计思想,通过封装数据和行为形成对象。类作为对象的模板,定义了属性和方法,实例则是具体的对象。文章详细讲解了构造方法(初始化对象)和析构方法(释放资源)的特点及使用,并说明了属性修饰符(public/private/protected)对成员访问权限的控制。最后阐述了面向对象的三大特性:封装(数据与行为结合)、继承(类之间的层级关系)和多态(不同类对同一方法的不同实现)。通过Human和Student类的代码示例,展示了这些概念的具体应用。
2025-09-12 07:50:44
766
原创 XAML 结构详解
XAML是一种基于XML的声明性语言,由Microsoft开发,主要用于初始化.NET对象。它广泛应用于WPF、UWP和Xamarin.Forms等平台。XAML的核心概念包括元素、属性、事件、命名空间和标记扩展,允许开发者通过XML语法定义UI结构和行为。其文档结构包含命名空间声明、类定义和UI元素层次。XAML提供多种语法特性,如属性语法、属性元素语法和标记扩展,支持类型自动转换,简化了UI开发过程。
2025-09-11 01:25:42
536
原创 WPF路由事件机制
路由事件是一种可以在 WPF 元素树(父元素、子元素)上向上或向下传递的事件,而不仅仅是由触发它的那个元素处理。路由事件:能在元素树中传递的事件。冒泡:子元素事件通知父元素。(常用)隧道:父元素在子元素处理事件前先预览和拦截。(用于高级控制)Handled:设置为true可终止事件传递。顺序PreviewXXX(隧道) ->XXX(冒泡)记住这几点,你就掌握了 WPF 路由事件最核心的机制。
2025-09-10 23:08:55
767
原创 WPF入门基础
WPF布局与样式基础摘要 WPF提供了多种布局容器:StackPanel(单向排列)、WrapPanel(自动换行)、DockPanel(边界停靠)、Grid(表格布局)等。布局遵循不显式设置尺寸、不使用绝对坐标等原则。样式系统允许集中定义控件外观属性,通过Style资源实现复用,支持字体、颜色、尺寸等设置,类似CSS但功能更强大。示例展示了如何为按钮定义统一样式,避免重复设置属性,提高开发效率。Grid作为最灵活的布局容器,支持行列定义和元素跨行跨列。
2025-09-04 15:54:19
637
转载 【转】Spring Data JDBC - Reference Documentation
Spring Data JDBC - Reference DocumentationJens Schauder, Jay Bryant, Mark Paluch, Bastian WilhelmVersion 2.1.7,2021-03-31© 2018-2021 The original authors.声明:本文转自Spring官网,如果网络不好登不上官网的小伙伴可以在这里看,如有翻译,链接会贴在原文链接下方原文链接Copies of this document may be made
2021-04-08 16:02:12
4162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅