- 博客(14)
- 收藏
- 关注
原创 十二:手写初体验Spring V1.0版本
1.1.实现思路先来介绍一下Mini版本的Spring基本实现思路,如下图所示:1.2.自定义配置 application.properties 文件为了解析方便,我们用application.properties来代替application.xml文 件 ,具体配置内容如下:scanPackage=com.gupaoedu.demo1.3.配置web.xml文件大家都知道,所有依赖于web容器的项目,都是从读取web.xml文件开始的。我们先配置好web.xml中的内容。
2020-06-17 07:47:16
221
1
原创 十一:Spring前世今生与Spring编程思想
1.Spring的前世今生相信经历过不使用框架开发Web项目的70后、80后都会有如此感触,如今的程序员开发项目太轻松了 ,基本只需要关心业务如何实现,通用技术问题只需要集成框架便可。早在2007年 ,一个基于Java语言的开源框架正式发布,取了一个非常有活力且美好的名字,叫做Spring。它是一个开源的轻量级Java SE (Java标准版本)/Java EE (Java企业版本)开发应用框架,其目的是用于简化企业级应 用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的
2020-06-17 07:33:50
219
原创 十:策略模式详解
1.定义策略模式 (Strategy Pattern) 又叫也叫政策摆式 (Policy Pattern) , 它是将定义的算法家族、分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。属千行为型模式。策略摆式使用的就是面向对象的继承和多态机制,从而实现同—行为在不同场萦下具备不同实现。2.应用场景策略模式在生活场景中应用也非常多。比如—个入的交税比率与他的工资有关,不同的工资水平对应不同的税率。再比如我们在互联网移动支付的大背景下,每次下单后付款前,需要选择
2020-06-17 07:21:06
451
原创 九:适配器模式详解
适配器模式是指将一个类的接口转换成用户期望的一个接口,事原本接口不兼容的类可以一起工作,属于结构型设计模式适配器模式适用于以下几种业务场景1.已经存在的类 的方法和需求不匹配(方法结果相同或相似)的情况2.适配器模式不是软件初始阶段考虑的设计模式,是随着软件的发展,由于不同产品,不同厂家造成功能类似而接口不同的问题的解决方案,有点亡羊补牢的感觉场景:民用电压220V变5Vpu...
2020-05-17 22:15:27
199
原创 八:装饰器模式详解
装饰器模式在我们生活中应用也比较多如给煎饼加鸡蛋加香肠,代码如下public class Pancake { public String getMeg(){ return "煎饼"; } public int getPrice(){ return 5; }}public class PancakeWithEgg exte...
2020-04-26 15:08:43
167
原创 七:模板模式详解
我们平时的入职流程是填写入职登记表→打印简历→复印学历→复印身份证→签订合同→安排工位等,这个流程是针对每个人都是这样的,这样的可以称为模板模板模式又成模板方法模式,是指定义一个算法骨架,并允许子类为一个或者多个步骤提供实现 。模板模式使得子类可以子类在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为设计模式。模板模式使用与以下场景:1.一次性实现一个算法的不变部分,并将可变的行...
2020-04-22 08:18:50
179
原创 六:委派模式详解
委派模式:基本作用就是负责任务的调用和分配,跟代理模式很像,可以看作一种特殊情况下的静态全权代理,但是代理模式注重过程,而委派模式注重结果。Spring中DispathenServlet就用到了委派模式场景:老板给项目经理分配任务,项目经理会根据实际情况给每个员工分派任务,待员工把任务完成后,再由项目经理向老板汇报结果public interface IEmployee { pu...
2020-04-19 20:43:20
134
原创 五:代理模式详解
动态代理:是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介作用,代理模式属于结构型设计模式。代理分为静态代理和动态代理1.静态代理...
2020-04-16 23:04:34
113
原创 四:原型模式详解
原型模式:是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,属于创建型模式原型模式的核心在于拷贝原型对象。以系统中已存在的一个对象为原型,直接基于内存二进制流进行拷贝,无需再经历耗时的对象初始化过程(不调用构造函数),性能提升许多。当对象的构建过程比较耗时时,可以利用当前系统中已存在的对象作为原型,对其进行克隆(一般是基于二进制流的复制),躲避初始化过程,使得新对象的创建时间大...
2020-04-13 00:22:15
242
原创 三:单例设计模式详解
单例模式是指确保一个类在任何情况下都绝对只有一个实例,并且提供一个全局访问点。J2EE标准中的ServlentContext,SerlentContextConfig等,Spring框架应用中的ApplicationContext,数据库的连接池等也是单例形式单例分为饿汉式和懒汉式饿汉式:在类加载的时候就立即初始化,并且创建单例对象,绝对是线程安全的,在线程还没有出现前就实例化了...
2020-04-11 17:33:38
110
原创 二:工厂模式详解
Spring就是一个把设计模式用得淋漓尽致的经典框架:工厂模式,装饰器模式,代理模式,委派模式,策略模式,适配器模式,模板模式,观察者模式工厂模式详解简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于GOF 23种设计模式。简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑...
2020-04-09 00:28:22
138
原创 LinkedList的理解
在数组ArrayList中读取和存储(get/set)的性能非常高,为O(1),但插入(add(int index, E element))和删除(remove(int index))却花费了O(N)时间,效率并不高。LinkedList是基于双向链表来实现的,来先 理解链表链表在物理存储上通常是非连续、非顺序的方式存储的,数据元素的逻辑顺序是通过链表中的引用来实现的。1、单向链表...
2020-03-22 22:20:57
167
原创 List的理解
白色的了解的,黄色重点了解,读源码,绿色很少用Arraylist与Vector的区别1、Vector是线程安全的,ArrayList不是线程安全的。2、ArrayList在底层数组不够用时在原来的基础上扩展0.5倍,Vector是扩展1倍。看一下Vector的源码实现了List接口,底层和ArrayList一样,都是数组来实现的。分别看一下ArrayList的add源码...
2020-03-20 22:30:48
330
原创 软件价架构设计原则
1.开闭原则:一个软件实体(如类,模块或函数)应该是对拓展开发,对修改关闭,开闭原则是面向对象设计中最基础的设计原则如:版本更新,尽可能不修改源代码,但是可能增加功能2.依赖倒置原则:设计代码时,高层模块不应该依赖底层模块,二者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象。通过依赖倒置,可以减少类与类之间的耦合性,提高系统的稳定性,提高代码的可读性和维护性,并且能够降低修...
2020-03-17 23:38:26
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人