-
工厂方法模式 详解版
所属栏目:[语言] 日期:2022-07-19 热度:76
在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满足开闭原则的前提下,客户[详细]
-
适配器模式 Adapter模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:156
在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器[详细]
-
桥接模式 Bridge模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:101
在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 mn 种,不但对应的子类很多,而且扩展困难。[详细]
-
装饰器模式 装饰设计模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:73
上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么加码,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新[详细]
-
代理模式 代理设计模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:77
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完[详细]
-
结构型模式概述 结构型模式的分类
所属栏目:[语言] 日期:2022-07-19 热度:120
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足合成复用原则,所以对象结构型模式比类结[详细]
-
创建型模式应用实验
所属栏目:[语言] 日期:2022-07-19 热度:84
创建型模式(Creational Pattern)的主要特点是将对象的创建与使用分离,根据对象的创建与组合方式的不同,创建型模式可分为单例(Singleton)模式、原型(Prototype)模式、工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式和建造者(B[详细]
-
建造者模式 Bulider模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:170
在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告[详细]
-
UE4对电脑配置的需要
所属栏目:[语言] 日期:2022-07-17 热度:116
正是因为 UE4 有着强悍的渲染效果,所以它所带来的硬件负担也会比其他的游戏引擎要大,这就要求大家的电脑配置不能太低,否则运行会变得缓慢。 大型游戏都是非常消耗资源的,只有配置高的电脑才能玩的流畅。 UE4 官方推荐的软硬件配置 操作系统 Win10 64[详细]
-
UE4新创项目
所属栏目:[语言] 日期:2022-07-17 热度:54
打开 UE4 启动器,选择 4.21.2 版本的虚幻引擎,点击启动按钮。 项目这一栏存放着你新建后的项目。我们点击新建项目,点击C++,选择基础代码,选择没有初学者内容,然后写上项目名字,注意不能有中文,然后点击创建项目。 「蓝图」是虚幻引擎为开发者开发[详细]
-
UE4新设人物和地图模式
所属栏目:[语言] 日期:2022-07-17 热度:82
在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。 1) 打开 UE4 编辑器,我们点击左下角的显示/隐藏资源面板。 显示/隐藏面板 2) 点击 C++类 ,选中GameProject 文件夹,在右[详细]
-
UE4设定默认游戏模式和关卡
所属栏目:[语言] 日期:2022-07-17 热度:159
UE4设定默认游戏模式和关卡: 1) 首先我们回到 VS 编辑器,在内容浏览器里面选择内容(Content): 2) 新建一个存放资源的文件夹名为Assest,然后在Assest目录下创建一个Maps文件夹,表示存放我们的地图。 3) 点击 保存关卡: 4) 在右边的窗口把DefaultGameM[详细]
-
UE4制定默认角色和控制器
所属栏目:[语言] 日期:2022-07-17 热度:173
上一节我们设置了默认地图和关卡,这一节我们来设置默认的角色和控制器和默认地图不一样,默认角色和控制器需要设置在 GameMode 里面。 在APlayingGameModeBase.cpp文件中创建构造函数实现,然后在 #include PlayingGameModeBase.h 头文件的下面添加 #incl[详细]
-
UE4设立人物移动和人物视角
所属栏目:[语言] 日期:2022-07-17 热度:76
本节我们先讲解 UE4 人物移动的设置,然后再讲解 UE4 人物视角的设置。 UE4 设置人物移动 1) 打开 UE4 编辑器,点击编辑然后点击项目设置: 2) 设置完成后,我们打开 VS 编辑器,在PlayingCharacter.h文件下声明 4 个函数: 这四个函数就是我们要实现移动[详细]
-
UE4达成人物跳跃
所属栏目:[语言] 日期:2022-07-17 热度:91
这一节我们来实现人物的跳跃。 1) 首先我们打开 UE4 编辑器,点击项目设置,点击输入,添加 BindAction 类型的按键绑定,名字为 Jump,按键是空格键。 2) 在 SetupPlayerInputComponent 函数里面绑定按键输入: void APlayingCharacter::SetupPlayerInputC[详细]
-
UE4增加人物模型
所属栏目:[语言] 日期:2022-07-17 热度:186
在正式使用 UE4 添加人物模型之前,我们先来解释几个概念。 通过上面的介绍,我们已经知道需要通过添加组件来添加人物模型。那么我们要如何在 C++ 里面添加组件呢? 1) 首先打开 VS 编辑器,在 APlayingCharacter.h 文件尾部下入以下代码: //这个是骨骼模[详细]
-
UE4增添人物摄像机
所属栏目:[语言] 日期:2022-07-17 热度:196
在这一节中,我们需要添加两个组件分别是摄像机弹簧臂组件和摄像机组件。 摄像机弹簧臂组件 摄像机弹簧臂组件,可以想象成是我们的手臂和手。手拿着摄像机,当我们想移动摄像机的时候,我们移动的是我们的手臂而不是摄像机。 1) 打开VS编辑器,在PlayingCh[详细]
-
UE4添置人物动画之状态机
所属栏目:[语言] 日期:2022-07-17 热度:116
这一节我们创建一个动画蓝图并在C++中把它绑定到角色身上 。 状态机 状态机是可以让动画过渡到另一个动画的工具,它大大简化了动画设计流程。 1) 在 UE4 编辑器中,我们以 AnimInstance 为父类创建一个名为 CharacterAnimInstance 的子类。 2) 进入到我们[详细]
-
软件设计模式概论
所属栏目:[语言] 日期:2022-07-17 热度:188
本节是后面各章学习的基础,从整体上介绍软件设计模式的概念与特点、软件设计模式的基本要素,以及 GoF 的 23 种设计模式简介。 软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑[详细]
-
GoF 的 23 种设计模式的分类和性能
所属栏目:[语言] 日期:2022-07-17 热度:144
设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 前面说明了 GoF 的 23 种设计模式的分类,现在对各个模式的功能进行介绍。 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓[详细]
-
UML统一建模语言是啥
所属栏目:[语言] 日期:2022-07-17 热度:107
UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建[详细]
-
UML类图及类图之间的联系
所属栏目:[语言] 日期:2022-07-17 热度:185
在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一。类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表[详细]
-
类关系记忆秘诀
所属栏目:[语言] 日期:2022-07-17 热度:136
类关系记忆技巧总结如下表所示。 分类 箭头特征 记忆技巧 箭头方向 从子类指向父类 定义子类需要通过 extends 关键字指定父类 子类一定是知道父类定义的,但父类并不知道子类的定义 只有知道对方信息时才能指向对方 箭头的方向是从子类指向父类 继承/实现[详细]
-
UMLet的使用与类图的策划
所属栏目:[语言] 日期:2022-07-17 热度:169
本实验是为后续实验做准备的。在《设计模式》教程中,各个程序实例都要画类图,所以读者必须掌握用某种 UML 建模工具来画类图,本教程选择 UMLet 作为 UML 的建模工具。 实验目的 本实验的主要目的如下。 理解类的基本概念,掌握如何从需求分析中抽象出类[详细]
-
什么叫做优秀的软件架构
所属栏目:[语言] 日期:2022-07-17 热度:114
开始学习设计模式前,我们先来看看软件架构的设计过程,及需要达成的目标和尽量避免的陷阱。 代码复用 无论是开发哪种软件产品,成本和时间都是最重要的。较少的开发时间意味着可以比竞争对手更早进入市[详细]