-
代理模式 代理设计模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:146
在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完[详细]
-
适配器模式 Adapter模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:83
在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器[详细]
-
桥接模式 Bridge模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:164
在现实生活中,某些类具有两个或多个维度的变化,如图形既可按形状分,又可按颜色分。如何设计类似于 Photoshop 这样的软件,能画不同形状和不同颜色的图形呢?如果用继承方式,m 种形状和 n 种颜色的图形就有 mn 种,不但对应的子类很多,而且扩展困难。[详细]
-
装饰器模式 装饰设计模式 详解
所属栏目:[语言] 日期:2022-07-19 热度:155
上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么加码,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新[详细]
-
创建型模式应用实验
所属栏目:[语言] 日期:2022-07-19 热度:112
创建型模式(Creational Pattern)的主要特点是将对象的创建与使用分离,根据对象的创建与组合方式的不同,创建型模式可分为单例(Singleton)模式、原型(Prototype)模式、工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式和建造者(B[详细]
-
Nexus下载和安设
所属栏目:[语言] 日期:2022-07-19 热度:112
目前 Nexus 分为 Nexus 2.x 和 Nexus 3.x 两个大版本,它们是并行的关系,目前使用最多,运行最稳定的是 Nexus 2.x,下面我们以 Nexus 2.x 为例,演示 Nexus 的安装过程。 1. 进入 Nexus 2.x 下载页面,根据本机操作系统,选择对应的版本进行下载。 2. 将[详细]
-
Nexus仓库属性与分类
所属栏目:[语言] 日期:2022-07-19 热度:185
Nexus 作为一款 Maven 仓库管理器,仓库(Repository)自然是 Nexus 最核心的概念。Nexus 中提供了许多仓库概念,如代理仓库、宿主仓库以及仓库组等。Nexus 为每一种仓库都提供了丰富的配置参数,方便我们根据自身需要进行定制。 Nexus 仓库属性 点击左边[详细]
-
Nexus创立仓库
所属栏目:[语言] 日期:2022-07-19 热度:115
本节,我们将介绍如何创建自定义宿主仓库、代理仓库和仓库组,为后面的工作做准备。 创建 Nexus 宿主仓库 首先,我们需要创建两个宿主仓库,分别用来存储从本地上传到 Nexus 的 Snapshot 和 Release 版本的构件,操作步骤如下。 1. 点击左边导航栏中的 Rep[详细]
-
Nexus索引及构件搜索
所属栏目:[语言] 日期:2022-07-19 热度:103
我们知道,Maven 中央仓库为用户提供了多达数十万构件,而 Nexus 可以代理所有的远程仓库(包括 Maven 中央仓库),可见 Nexus 仓库中构件的数量相当庞大。用户想要在这么多构件中,快速的查找自己所需的构件,一个最直接有效的方式就是:搜索。 Nexus 作[详细]
-
自Nexus下载构件
所属栏目:[语言] 日期:2022-07-19 热度:61
Nexus 作为最流行的 Maven 私服之一,使用它主要目的之一:代理远程仓库,即当 Maven 需要下载构件到本地仓库使用时,不再请求外部的远程仓库,而直接从 Nexus 中下载。本节我们将介绍如何配置 Maven 从 Nexus 下载构件。 将 Nexus 的代理仓库配置到 Maven[详细]
-
布局构件到Nexus
所属栏目:[语言] 日期:2022-07-19 热度:122
如果仅仅是为了代理远程的公共仓库,那么 Nexus 的代理仓库就完全能够满足需要,但是我们知道,Nexus 除了代理仓库外,还有另一种仓库:宿主仓库。 宿主仓库的主要作用是存储公司或组织内部的构件,以及一些无法从公共仓库获取的第三方构件(JDBC 驱动),[详细]
-
Nexus3运用教程
所属栏目:[语言] 日期:2022-07-19 热度:176
目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。 目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Mave[详细]
-
Nexus2迁移提升到Nexus3
所属栏目:[语言] 日期:2022-07-19 热度:139
与 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-19 热度:68
我们知道 Nexus 可以远程下载和缓存中央仓库索引,但是对于国内用户来说,Nexus 远程更新索引使用的站点位于国外且部分索引文件较大,经常会出现下载速度缓慢或索引文件不完整等情况。下面我们将介绍一种更加快捷可靠的索引更新方式:离线更新中央仓库索引[详细]
-
何为Spring
所属栏目:[语言] 日期:2022-07-19 热度:150
Spring 是 Java EE 编程领域的一款轻量级的开源框架,由被称为Spring 之父的 Rod Johnson 于 2002 年提出并创立,它的目标就是要简化 Java 企业级应用程序的开发难度和周期。 Spring 自诞生以来备受青睐,一直被广大开发人员作为 Java 企业级应用程序开发[详细]
-
软件设计模式概论
所属栏目:[语言] 日期:2022-07-17 热度:168
本节是后面各章学习的基础,从整体上介绍软件设计模式的概念与特点、软件设计模式的基本要素,以及 GoF 的 23 种设计模式简介。 软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑[详细]
-
GoF 的 23 种设计模式的分类和性能
所属栏目:[语言] 日期:2022-07-17 热度:59
设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 前面说明了 GoF 的 23 种设计模式的分类,现在对各个模式的功能进行介绍。 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓[详细]
-
UML统一建模语言是啥
所属栏目:[语言] 日期:2022-07-17 热度:119
UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建[详细]
-
UML类图及类图之间的联系
所属栏目:[语言] 日期:2022-07-17 热度:92
在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一。类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表[详细]
-
类关系记忆秘诀
所属栏目:[语言] 日期:2022-07-17 热度:90
类关系记忆技巧总结如下表所示。 分类 箭头特征 记忆技巧 箭头方向 从子类指向父类 定义子类需要通过 extends 关键字指定父类 子类一定是知道父类定义的,但父类并不知道子类的定义 只有知道对方信息时才能指向对方 箭头的方向是从子类指向父类 继承/实现[详细]
-
UMLet的使用与类图的策划
所属栏目:[语言] 日期:2022-07-17 热度:159
本实验是为后续实验做准备的。在《设计模式》教程中,各个程序实例都要画类图,所以读者必须掌握用某种 UML 建模工具来画类图,本教程选择 UMLet 作为 UML 的建模工具。 实验目的 本实验的主要目的如下。 理解类的基本概念,掌握如何从需求分析中抽象出类[详细]
-
什么叫做优秀的软件架构
所属栏目:[语言] 日期:2022-07-17 热度:63
开始学习设计模式前,我们先来看看软件架构的设计过程,及需要达成的目标和尽量避免的陷阱。 代码复用 无论是开发哪种软件产品,成本和时间都是最重要的。较少的开发时间意味着可以比竞争对手更早进入市[详细]
-
如何正确运用设计模式?
所属栏目:[语言] 日期:2022-07-17 热度:143
设计模式不是为每个人准备的,而是基于业务来选择设计模式,需要时就能想到它。要明白一点,技术永远为业务服务,技术只是满足业务需要的一个工具。我们需要掌握每种设计模式的应用场景、特征、优缺点,以及每种设计模式的关联关系,这样就能够很好地满足[详细]
-
UE4增添人物动画之前后左右移动
所属栏目:[语言] 日期:2022-07-17 热度:83
这也一节,我们来使用动画状态机的逻辑。 1) 编译一下,回到 UE4 编辑器双击我们的动画蓝图,选择动画图标,创建一个状态机,并双击状态机。 2) 点击引脚拉出来一个节点选择添加状态。 3) 更改名字为 Idle 说明是静止状态,然后在 Idle 节点拉出一个 Move[详细]
-
开闭原则 面对对象设计原则
所属栏目:[语言] 日期:2022-07-17 热度:173
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我们将在下面的几节中依次来介绍这 7 条原则,本节首先介绍开闭原则。 开闭[详细]