- 浏览: 100454 次
最新评论
-
kaizi1992:
嗯嗯。是的。@cs6641468 谢谢!希望多提意见
spring boot框架学习之重要注解3注解方式读取外部资源配置文件 -
cs6641468:
1. Spring Boot引入文件配置,优先考虑推荐的@Co ...
spring boot框架学习之重要注解3注解方式读取外部资源配置文件
文章列表
设计模式之生活中的模板模式
- 博客分类:
- 凯哥讲设计模式
在讲模板模式原理前,我们按照管理,先来个生活中例子。茶馆需要开发一个自动的泡咖啡和泡茶的程序。
本文出自:《凯哥学设计模式》系列教程中的模板模式一
我们先来看看泡咖啡和泡茶的步骤:
我们根据上图写代码实现:
泡咖啡类,如下图:
泡茶类如下图:
测试类:
设计模式之外观模式-引导篇及原理
- 博客分类:
- 凯哥讲设计模式
外观模式-引导篇及原理
来看看司小司的新项目-家庭影院控制接口项目
家庭影院设备:
DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机等等。
对于的类对象:DVDPlayer、Projector、Stereo、Popcorn、Screen、TheaterLights etc...
类图如下:
我们知道,这些设备需要遥控器,同时这些设备都对外提供了接口。如果一个设备一个遥控器是不是很麻烦。现在需求是,为了方便省事。只需要一个设备来处理。
来源:凯哥Java(kaigejava)
设计模式之命令模式-引导篇及原理
- 博客分类:
- 凯哥讲设计模式
设计模式之命令模式-引导篇及原理
引导
司小司又接到了新项目:家电自动化遥控器API项目。
项目背景:随着物联网的流行以及智能化家具普及。一个遥控器可以管控家里所有设备(家电等)也很正常了。
来源:凯哥Java(kaigejava)
如上图:假设空心的是关,实心的是开。
需求:
1:给出各个家电(电灯、电视、音响等)的API,需要在这个遥控器接口中,对接这些API来实现对不同家电的控制。
2:要求自动化遥控器要扩展性好
Javaweb-动态代理之代理工厂模式实现
- 博客分类:
- 凯哥Java
前面做了一个Waiter的动态代理的练习,这篇继续来写一个练习,一个动态代理工厂的例子,这个例子在以后学习Spring的时候会有帮助。这个动态工厂的主要作用就是包装了下目标对象和前置增强和后置增强。
工厂类的使用步骤
我们要设计一个动态代理工厂类,以下是使用这个工程类的步骤。
来源:凯哥Java(kaigejava)
1. 创建代理工厂
2. 给工厂设置三样东西
1) 目标对象,调用方法setTargetObject()
2) 前置增强,调用setBeforeAdvice(该接口的具体实现)
3) 后置增强,
Javaweb-类加载器-类加载器的了解入门
- 博客分类:
- 凯哥Java
前面的动态代理学完了,以后在学习Spring的时候会用到这些动态代理的知识和原理,像目标对象,增强这两个术语,会经常听到。学习动态代理,就是学习JDK中反射包下的一个Proxy类,具体来说,我们只是学习newProxyInstance(ClassLoader, interfaces, hander)这个方法。这篇开始来学习下,加载器,我们在学习获取动态代理,第一个要准备的参数就是,类加载器,通过这篇的学习,稍微对类加载器有入门的了解。
来源:凯哥Java(kaigejava)
什么是类加载器(作用)
就是把计算机本地磁盘上的.class文件加载进JVM内存中方法区,变成Clas ...
设计模式之命令模式-使用命令模式实现遥控器及总结
先来看看项目结构:
说明:
1:命令接口对象
2:电灯打开或关闭命令
3:音响打开或关闭命令
4:音响音量增加或减少命令
来源:凯哥Java(kaigejava)
电灯开或关代码:
/**
* Created by kaigejava on 2019/8/30.
* 关灯的命令对象
*/
下图这种地区搜索方式在很多app中都很常见,今天就使用vue框架中的 better-scroll 第三方包来实现页面滚动和点击侧边栏字母该字母开头的地区列表置顶功能。
来源:凯哥Java(kaigejava)
1、A子组件通过使用 this.$emit(事件名字,事件携带内容) 向外触发事件
首先,在<city-alphabet>组件每个字母元素上绑定事件,在该事件中向外触发事件,并将值传递出去:
<template>
<ul class="list">
<li c ...
设计模式之工厂模式-抽象工厂模式
- 博客分类:
- 凯哥讲设计模式
设计模式之工厂模式-抽象工厂模式
抽象工厂模式:
定义了一个接口用于创建相关或有依赖关系的对象簇,而无需明确指定具体类。
我们来看看使用抽象工厂模式来实现的披萨项目。
来源:凯哥Java(kaigejava)
先来看看项目结构:
说明:
1:工厂接口
2:两个实现类
3:订单对象
4:测试类。
看看具体代码:
设计模式之工厂模式-工厂方法模式
- 博客分类:
- 凯哥讲设计模式
设计模式之工厂模式-工厂方法模式
大家好,欢迎来到污污弹公司,今天司小司又接到了一个新活-披萨项目。
来源:凯哥Java(kaigejava)
需求:
披萨项目:
要方便披萨品种的扩展、要便于维护、要能运行时候方便扩展
来 ...
设计模式之工厂模式一简单工厂模式
工厂模式由来:
在我们创建对象的时候使用,使用new操作的。如果多个对象创建都使用new会。所以工厂模式就是用来代理new操作的一种模式。根据工厂模式由来,我们可以看出工厂模式属于创建型模式。提供一种创建对象的最佳方式。
来源:凯哥Java(kaigejava)
工厂模式主要的分类:
简单工厂模式、工厂方法模式、抽象工厂模式
简单工厂模式:
简单工厂模式不属于23中设计模式。又叫做静态工厂方法,简单工厂模式是工厂模式家族中最简单使用的一种模式。也可以理解为不同工厂模式的一个特殊实现。
如何理解?
观察者下篇
在上一篇文章中,我们通过污污弹公司司小司做气象站项目学习了观察者模式怎么使用。在本篇中,我们对观察者模式进行总结及关键点,还有一个就是Java中内置的观察者模式。
本文出处:凯哥Java(kagejava)
一:Java内置的观察者
我们将使用Java内置的观察者将气象站项目重新写一次。
内置观察者的区别:
Subject对象:
1:
设计模之观察者模式上篇
- 博客分类:
- 凯哥讲设计模式
观察者模式上篇
观察者模式原理:
大家好,欢迎来到污污弹公司,最近啊,污污弹接到气象站的外包项目。
功能比较简单:
要对外提供天气接口(温度、气压、湿度)需要实时通知第三方;
还需要实时在市中心公告栏上发布天气情况。
司小司接到任务开始动手干了。根据Java面向对象特性分析后得到如下信息:
天气对象:WeatherData
设计模式之单例模式-单例模式的几种实现方式及小案例
本文来源:凯哥Java(wx:kaigejava)联系凯哥--》公众号:凯哥Java(kaigejava)凯哥个人博客:www.kaigejava.com
单例模式有几种?饿汉式、懒汉式。这两种是最常见的。还有几种是对其扩展的。具体如下:
我们可以从上图看到,共有六种方式。
其中在懒汉式基础上扩展的有两种。即:加锁的懒汉式及双重判断加锁的懒汉式
还有一种是使用内部类实现的。即:内部静态类的
最后一种是比较少见的。使用枚举的。
我们来看看每种方式代码都怎么写。
懒汉式:
设计模式系列教程之单例模式-原理介绍
- 博客分类:
- 凯哥讲设计模式
设计模式系列教程之单例模式-原理介绍
一:单例模式(Singleton)学习步骤
经典的单例模式原理:
本文出处:凯哥Java(wx:kaigejava)
先来看看单例模式的介绍:
其重点就是,使类对象成为系统中唯一的一个实例。怎么理解这句话呢?
我们从数学与逻辑学中来理解:singleton的定义是“有且仅有一个”的意思。
我们来看看单例在哪些地方会被使用到,来理解单例模式的意义:
比如我们系统中使用到的线程池、数据源、缓
RabbitMQ学习系列第二十二篇 高级整合 第四篇MessageListenerAdapter
MessageListenerAdaoter:即消息监听适配器。
代码演示:
在config类中修改:
在SimpleMessageListenerContainer bean中(上一节课代码演示)修改如下:
/** 使用适配器模式 **/
MessageL