-
装饰器模式 装饰设计模式 详解
所属栏目:[语言] 日期:2022-07-22 热度:181
上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么加码,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新[详细]
-
桥接模式 Bridge模式 详解
所属栏目:[语言] 日期:2022-07-22 热度:120
在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 mn 种,不但对应的子类很多,而且扩展困难。[详细]
-
适配器模式 Adapter模式 详解
所属栏目:[语言] 日期:2022-07-22 热度:190
在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器[详细]
-
代理模式 代理设计模式 详解
所属栏目:[语言] 日期:2022-07-22 热度:109
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完[详细]
-
结构型模式概述 结构型模式的分类
所属栏目:[语言] 日期:2022-07-22 热度:133
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足合成复用原则,所以对象结构型模式比类结[详细]
-
创建型模式应用实验
所属栏目:[语言] 日期:2022-07-22 热度:187
创建型模式(Creational Pattern)的主要特点是将对象的创建与使用分离,根据对象的创建与组合方式的不同,创建型模式可分为单例(Singleton)模式、原型(Prototype)模式、工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式和建造者(B[详细]
-
建造者模式 Bulider模式 详解
所属栏目:[语言] 日期:2022-07-22 热度:176
在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由 CPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告[详细]
-
抽象工厂模式
所属栏目:[语言] 日期:2022-07-22 热度:173
前面介绍的工厂方法模式中考虑的是一类产品的生产,如畜牧场只养动物、电视机厂只生产电视机、计算机软件学院只培养计算机软件专业的学生等。 同种类称为同等级,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,[详细]
-
工厂方法模式 详解版
所属栏目:[语言] 日期:2022-07-22 热度:98
在现实生活中社会分工越来越细,越来越专业化。各种产品有专门的工厂生产,彻底告别了自给自足的小农经济时代,这大大缩短了产品的生产周期,提高了生产效率。同样,在软件开发中能否做到软件对象的生产和使用相分离呢?能否在满足开闭原则的前提下,客户[详细]
-
Nexus下载和安设
所属栏目:[语言] 日期:2022-07-20 热度:171
目前 Nexus 分为 Nexus 2.x 和 Nexus 3.x 两个大版本,它们是并行的关系,目前使用最多,运行最稳定的是 Nexus 2.x,下面我们以 Nexus 2.x 为例,演示 Nexus 的安装过程。 1. 进入 Nexus 2.x 下载页面,根据本机操作系统,选择对应的版本进行下载。 2. 将[详细]
-
Nexus仓库属性与分类
所属栏目:[语言] 日期:2022-07-20 热度:140
Nexus 作为一款 Maven 仓库管理器,仓库(Repository)自然是 Nexus 最核心的概念。Nexus 中提供了许多仓库概念,如代理仓库、宿主仓库以及仓库组等。Nexus 为每一种仓库都提供了丰富的配置参数,方便我们根据自身需要进行定制。 Nexus 仓库属性 点击左边[详细]
-
Nexus创立仓库
所属栏目:[语言] 日期:2022-07-20 热度:200
本节,我们将介绍如何创建自定义宿主仓库、代理仓库和仓库组,为后面的工作做准备。 创建 Nexus 宿主仓库 首先,我们需要创建两个宿主仓库,分别用来存储从本地上传到 Nexus 的 Snapshot 和 Release 版本的构件,操作步骤如下。 1. 点击左边导航栏中的 Rep[详细]
-
Nexus索引及构件搜索
所属栏目:[语言] 日期:2022-07-20 热度:194
我们知道,Maven 中央仓库为用户提供了多达数十万构件,而 Nexus 可以代理所有的远程仓库(包括 Maven 中央仓库),可见 Nexus 仓库中构件的数量相当庞大。用户想要在这么多构件中,快速的查找自己所需的构件,一个最直接有效的方式就是:搜索。 Nexus 作[详细]
-
自Nexus下载构件
所属栏目:[语言] 日期:2022-07-20 热度:176
Nexus 作为最流行的 Maven 私服之一,使用它主要目的之一:代理远程仓库,即当 Maven 需要下载构件到本地仓库使用时,不再请求外部的远程仓库,而直接从 Nexus 中下载。本节我们将介绍如何配置 Maven 从 Nexus 下载构件。 将 Nexus 的代理仓库配置到 Maven[详细]
-
布局构件到Nexus
所属栏目:[语言] 日期:2022-07-20 热度:110
如果仅仅是为了代理远程的公共仓库,那么 Nexus 的代理仓库就完全能够满足需要,但是我们知道,Nexus 除了代理仓库外,还有另一种仓库:宿主仓库。 宿主仓库的主要作用是存储公司或组织内部的构件,以及一些无法从公共仓库获取的第三方构件(JDBC 驱动),[详细]
-
Nexus3运用教程
所属栏目:[语言] 日期:2022-07-20 热度:60
目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。 目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Mave[详细]
-
Nexus2迁移提升到Nexus3
所属栏目:[语言] 日期:2022-07-20 热度:118
与 Nexus 2.x 相比,Nexus 3.x 为我们提供了更多实用的新特性,随着 Nexus 3.x 对 Maven 的支持越来稳定,很多公司和组织都陆续将数据从 Nexus 2.x 迁移升级到 Nexus 3.x。 SonaType 官方建议我们,使用最新版本 Nexus 2.x 升级到最新版本 Nexus 3.x,并在[详细]
-
Nexus离线更新中央仓库目录
所属栏目:[语言] 日期:2022-07-20 热度:172
我们知道 Nexus 可以远程下载和缓存中央仓库索引,但是对于国内用户来说,Nexus 远程更新索引使用的站点位于国外且部分索引文件较大,经常会出现下载速度缓慢或索引文件不完整等情况。下面我们将介绍一种更加快捷可靠的索引更新方式:离线更新中央仓库索引[详细]
-
何为Spring
所属栏目:[语言] 日期:2022-07-20 热度:134
Spring 是 Java EE 编程领域的一款轻量级的开源框架,由被称为Spring 之父的 Rod Johnson 于 2002 年提出并创立,它的目标就是要简化 Java 企业级应用程序的开发难度和周期。 Spring 自诞生以来备受青睐,一直被广大开发人员作为 Java 企业级应用程序开发[详细]
-
UE4的下载和安置 UE4开发环境的搭建
所属栏目:[语言] 日期:2022-07-18 热度:80
使用 UE4 开发游戏之前,必须先搭建开发环境,具体包括: 1) 首先,打开任意一个浏览器输入 UE4 官方网站的网址 https://www.unrealengine.com/zh-CN/,点击右上角的下载按钮,如下图所示: 2) 官方要求必须登录后才能下载,所以大家需要先创建一个账户。[详细]
-
UE4使用哪种编译器
所属栏目:[语言] 日期:2022-07-18 热度:196
UE4 的底层虽然是用 C++ 实现的,但它又不仅仅是一个 C++ 库,它还实现了自己的编译机制。换句话说,UE4 对现有的 C++ 语法进行了改进,以适应游戏开发的场景。 当然,UE4 也不会疯狂到自己去开发一个 C++ 编译器,它还是需要依赖传统的 C++ 编译器以及相[详细]
-
Linux Qt cannot find -lGL错误完美解决方法
所属栏目:[语言] 日期:2022-07-18 热度:144
对于很多 Linux 发行版本,Qt 安装完成后如果直接编译或者运行项目,会出现cannot find -lGL错误, 这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。在《Linux Qt安装》一节中我们说过,OpenGL 在大部分 Linux 发行版中都是默认安装的,包括 Ubuntu[详细]
-
解密Qt安装目录的构架
所属栏目:[语言] 日期:2022-07-18 热度:94
了解 Qt 安装目录的结构虽然不是编程必须的,但是它能练就我们的内功,让我们对 Qt 的编程环境了如指掌。Windows 和 Linux 下 Qt 安装目录的结构非常相似,我们以 Windows 为例进行讲解,Linux 不再赘述。 不同版本 Qt 的安装目录结构大同小异,本节我们以[详细]
-
知晓一下Qt用到的开发工具
所属栏目:[语言] 日期:2022-07-18 热度:114
Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是[详细]
-
Qt编程涉及的术语与名词
所属栏目:[语言] 日期:2022-07-18 热度:169
本节我们来介绍一下使用 Qt 编程过程中常用的术语和名字,它们不一定专属于 Qt,在其它的 C/C++ 开发过程中也会使用到。 Project Project 的中文翻译是项目或者工程,这里的项目是指为实现某个相对独立功能的程序代码合集,这些代码不单单是放在一块,而是[详细]
