kaizi1992
- 浏览: 55215 次
-
社区版块
- ( 0)
- ( 0)
- ( 0)
最新评论
-
kaizi1992:
嗯嗯。是的。@cs6641468 谢谢!希望多提意见
spring boot框架学习之重要注解3注解方式读取外部资源配置文件 -
cs6641468:
1. spring boot引入文件配置,优先考虑推荐的@co ...
spring boot框架学习之重要注解3注解方式读取外部资源配置文件
文章列表
- 博客分类:
- 凯哥讲设计模式
状态模式总结篇
状态模式总结篇,我们将从以下几个方面对状态模式进行总结。
状态模式出现的意图是什么?
通过对象内部状态发生改变进而来改变对象的行为,对象看起来好像是被修改了一样。如,没有糖果的时候(是一个状态),糖果机就不能运行了,有糖果之后(另一个状态),投币就可以出糖果了。
本文出处凯哥java(kaigejava)讲《23种设计模》系列教程种的《状态模式总结篇》
凯哥公众号:凯哥java
凯哥个人博客:www.kaigejava.com
主要解决的问题是什么?
对象的行为依赖于对象的状态变化(属性变更),并且根据属性值(状态)的改变而改变相关的行为。如,出不出糖果这个 ...
- 2019-09-17 13:23
- 浏览 195
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
模板模式总结篇
在上一篇《设计模式之模板模式引导篇》中,我们使用了泡咖啡和泡茶的日常小场景讲解了模板模式的原理。本篇,我们就结合这个小案例,来对模板模式进行总结。
本文出自《凯哥学设计模式》系列教程。� ...
- 2019-09-06 09:12
- 浏览 216
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
在讲模板模式原理前,我们按照管理,先来个生活中例子。茶馆需要开发一个自动的泡咖啡和泡茶的程序。
本文出自:《凯哥学设计模式》系列教程中的模板模式一
我们先来看看泡咖啡和泡茶的步骤:
我们根据上图写代码实现:
泡咖啡类,如下图:
泡茶类如下图:
测试类:
- 2019-09-05 09:21
- 浏览 184
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
外观模式-引导篇及原理
来看看司小司的新项目-家庭影院控制接口项目
家庭影院设备:
dvd播放器、投影仪、自动屏幕、环绕立体声、爆米花机等等。
对于的类对象:dvdplayer、projector、stereo、popcorn、screen、theaterlights etc...
类图如下:
我们知道,这些设备需要遥控器,同时这些设备都对外提供了接口。如果一个设备一个遥控器是不是很麻烦。现在需求是,为了方便省事。只需要一个设备来处理。
来源:凯哥java(kaigejava)
- 2019-09-03 09:54
- 浏览 178
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式之命令模式-引导篇及原理
引导
司小司又接到了新项目:家电自动化遥控器api项目。
项目背景:随着物联网的流行以及智能化家具普及。一个遥控器可以管控家里所有设备(家电等)也很正常了。
来源:凯哥java(kaigejava)
如上图:假设空心的是关,实心的是开。
需求:
1:给出各个家电(电灯、电视、音响等)的api,需要在这个遥控器接口中,对接这些api来实现对不同家电的控制。
2:要求自动化遥控器要扩展性好
- 2019-09-02 10:05
- 浏览 217
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式之命令模式-使用命令模式实现遥控器及总结
先来看看项目结构:
说明:
1:命令接口对象
2:电灯打开或关闭命令
3:音响打开或关闭命令
4:音响音量增加或减少命令
来源:凯哥java(kaigejava)
电灯开或关代码:
/**
* created by kaigejava on 2019/8/30.
* 关灯的命令对象
*/
- 2019-08-30 09:39
- 浏览 556
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式之工厂模式-抽象工厂模式
抽象工厂模式:
定义了一个接口用于创建相关或有依赖关系的对象簇,而无需明确指定具体类。
我们来看看使用抽象工厂模式来实现的披萨项目。
来源:凯哥java(kaigejava)
先来看看项目结构:
说明:
1:工厂接口
2:两个实现类
3:订单对象
4:测试类。
看看具体代码:
- 2019-08-28 09:43
- 浏览 164
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式之工厂模式-工厂方法模式
大家好,欢迎来到污污弹公司,今天司小司又接到了一个新活-披萨项目。
来源:凯哥java(kaigejava)
需求:
披萨项目:
要方便披萨品种的扩展、要便于维护、要能运行时候方便扩展
来� ...
- 2019-08-27 09:44
- 浏览 187
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
观察者下篇
在上一篇文章中,我们通过污污弹公司司小司做气象站项目学习了观察者模式怎么使用。在本篇中,我们对观察者模式进行总结及关键点,还有一个就是java中内置的观察者模式。
本文出处:凯哥java(kagejava)
一:java内置的观察者
我们将使用java内置的观察者将气象站项目重新写一次。
内置观察者的区别:
subject对象:
1:
- 2019-08-24 10:18
- 浏览 193
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
观察者模式上篇
观察者模式原理:
大家好,欢迎来到污污弹公司,最近啊,污污弹接到气象站的外包项目。
功能比较简单:
要对外提供天气接口(温度、气压、湿度)需要实时通知第三方;
还需要实时在市中心公告栏上发布天气情况。
司小司接到任务开始动手干了。根据java面向对象特性分析后得到如下信息:
天气对象:weatherdata
- 2019-08-23 09:39
- 浏览 173
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式之单例模式-单例模式的几种实现方式及小案例
本文来源:凯哥java(wx:kaigejava)联系凯哥--》公众号:凯哥java(kaigejava)凯哥个人博客:www.kaigejava.com
单例模式有几种?饿汉式、懒汉式。这两种是最常见的。还有几种是对其扩展的。具体如下:
我们可以从上图看到,共有六种方式。
其中在懒汉式基础上扩展的有两种。即:加锁的懒汉式及双重判断加锁的懒汉式
还有一种是使用内部类实现的。即:内部静态类的
最后一种是比较少见的。使用枚举的。
我们来看看每种方式代码都怎么写。
懒汉式:
- 2019-08-22 09:22
- 浏览 254
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式系列教程之单例模式-原理介绍
一:单例模式(singleton)学习步骤
经典的单例模式原理:
本文出处:凯哥java(wx:kaigejava)
先来看看单例模式的介绍:
其重点就是,使类对象成为系统中唯一的一个实例。怎么理解这句话呢?
我们从数学与逻辑学中来理解:singleton的定义是“有且仅有一个”的意思。
我们来看看单例在哪些地方会被使用到,来理解单例模式的意义:
比如我们系统中使用到的线程池、数据源、缓
- 2019-08-21 09:20
- 浏览 194
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
再上一篇文章《设计模式之策略模式》中,我们通过模拟鸭子项目,了解了什么是策略模式,怎么使用策略模式。本文将通过鸭子项目的学习,对策略模式进行总结。
策略模式:
分别封装行为接口,实现算法族,超类(父类)里 ...
- 2019-08-13 10:00
- 浏览 202
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
需求:
1:模拟鸭子项目
从项目"模拟鸭子游戏"开始。
鸭子都会叫、会游泳。有的鸭子是红头的、有的鸭子是绿头的。
分析:
从oo(object oriented,面向对象)的角度设计这个项目。
鸭子的父类:
抽象的
1.都会g ...
- 2019-08-11 08:46
- 浏览 209
- 分类:编程语言
- 博客分类:
- 凯哥讲设计模式
设计模式讲解-初识设计模式
设计模式是什么?
设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用的经验(是前辈们对代码开发经验的总结,是解决特定问题的一系列套路)。设计模式不是代码,而是某类问题的通用设计买球软件推荐的解决方案。让我想起了:世上本无路,走的人多了,也便成了路。
百科介绍:
23种设计模式总结者:
erich gamma、richard helm、ralph johnson、john vlissides于1995年总结写了《设计模式》。
学习设计模式最好的方式:在你的设计和以往的工程里面寻找何处可以使用它们。
设计模式的本质目的是使软件工程在维护性、扩展 ...
- 2019-08-09 09:21
- 浏览 266
- 分类:编程语言