上一页 1 2 3 4 5 6 7 8 ··· 27 下一页
摘要: 1、代理和装饰者的区别 静态代理和装饰者模式的区别: 相同点: 都要实现与目标类相同的业务接口 在两个类中都要声明目标对象 都可以在不修改目标类的前提下增强目标方法 不同点: 目的不同 装饰者是为了增强目标对象 静态代理是为了保护和隐藏目标对象 获取目标对象构建的地方不同 装饰者是由外界传递进来,可 阅读全文
posted @ 2023-02-27 22:06 |旧市拾荒| 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 1、概述 我们先来看一个快餐店的例子。 快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。 使用继承的方式存在的问题: 扩展性不好 如果要再加一种配料(火腿肠),我们就会发现需要给FriedRice和F 阅读全文
posted @ 2023-02-25 19:54 |旧市拾荒| 阅读(158) 评论(2) 推荐(2) 编辑
摘要: 1、概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将220v转 阅读全文
posted @ 2023-02-19 22:26 |旧市拾荒| 阅读(206) 评论(0) 推荐(2) 编辑
摘要: 一、结构型模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制或者实现机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结 阅读全文
posted @ 2023-02-16 21:44 |旧市拾荒| 阅读(56) 评论(0) 推荐(2) 编辑
摘要: 1、工厂方法模式VS建造者模式 工厂方法模式注重的是整体对象的创建方式;而建造者模式注重的是部件构建的过程,意在通过一步一步地精确构造创建出一个复杂的对象。 我们举个简单例子来说明两者的差异,如要制造一个超人,如果使用工厂方法模式,直接产生出来的就是一个力大无穷、能够飞翔、内裤外穿的超人;而如果使用 阅读全文
posted @ 2023-02-16 21:43 |旧市拾荒| 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1、概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 由于实现了构建和装配的解耦。不同的构建器,相同的装配,也可以做出不 阅读全文
posted @ 2023-02-09 21:32 |旧市拾荒| 阅读(172) 评论(0) 推荐(1) 编辑
摘要: 1、概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 2、结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。 具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。 访问类:使用具体原型类中的 c 阅读全文
posted @ 2023-02-07 22:07 |旧市拾荒| 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1、概述 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。 具体类的设计如下: 在java中,万物皆对象,这些对象都 阅读全文
posted @ 2023-02-05 21:41 |旧市拾荒| 阅读(265) 评论(0) 推荐(2) 编辑
摘要: 1.1.3 存在的问题 1.1.3.1 问题演示 破坏单例模式: 使上面定义的单例类(Singleton)可以创建多个对象,枚举方式除外。有两种方式,分别是序列化和反射。 序列化反序列化 Singleton类: public class Singleton implements Serializab 阅读全文
posted @ 2023-02-04 19:41 |旧市拾荒| 阅读(62) 评论(0) 推荐(1) 编辑
摘要: 一、创建型模式 创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。 这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 创建型模式分为: 单例模式 工厂方法模式 抽象工厂模式 原型模式 建造者模式 1.1 单例设计模式 单例模式(Singleton Pat 阅读全文
posted @ 2023-02-02 19:38 |旧市拾荒| 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,要尽量根据7条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 1、单一职责原则 ( 核心:尽量保证类,方法功能的单一性,即使其职责:最小粒度化 ) 功能单一,只负责自己的事情,不做多余的事情 ,可以减 阅读全文
posted @ 2023-01-11 21:27 |旧市拾荒| 阅读(118) 评论(0) 推荐(1) 编辑
摘要: 1、代码生成器原理分析 造句: 我们可以往空白内容进行填词造句,比如: 在比如: 观察我们之前写的代码,会发现其中也会有很多重复内容,比如: 那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如: 所以我们会发现,做任何模块的开发,对于这段代码,基本上 阅读全文
posted @ 2023-01-05 21:57 |旧市拾荒| 阅读(423) 评论(0) 推荐(1) 编辑
摘要: 1、概念 在讲解乐观锁之前,我们还是先来分析下问题: 业务并发现象带来的问题:秒杀 假如有100个商品或者票在出售,为了能保证每个商品或者票只能被一个人购买,如何保证不会出现超买或者重复卖 对于这一类问题,其实有很多的解决方案可以使用 第一个最先想到的就是锁,锁在一台服务器中是可以解决的,但是如果在 阅读全文
posted @ 2022-12-29 21:59 |旧市拾荒| 阅读(296) 评论(0) 推荐(1) 编辑
摘要: 1、多记录操作 先来看下问题: 之前添加了很多商品到购物车,过了几天发现这些东西又不想要了,该怎么办呢? 很简单删除掉,但是一个个删除的话还是比较慢和费事的,所以一般会给用户一个批量操作,也就是前面有一个复选框,用户一次可以勾选多个也可以进行全选,然后删一次就可以将购物车清空,这个就需要用到批量删除 阅读全文
posted @ 2022-12-25 22:54 |旧市拾荒| 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1、逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总共签了三个合同,如果此时他离职了,我们需要将员工表中的数据进行删除,会执行delete操作 如果表在 阅读全文
posted @ 2022-12-06 22:32 |旧市拾荒| 阅读(704) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 27 下一页