设计模式概述: 总体来说基本的23种设计模式分为三大类 创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模 ...
分类:
其他好文 时间:
2020-06-20 10:34:03
阅读次数:
59
##抽象工厂模式: 提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类。 例:我们在调用数据库时,可能会采用不同的数据库,进而其实现细节也会有所不同。如果我们在客户端实例化数据库对象,那么这个对象就完全被这个数据库限制了,若采用其他数据库时,在执行同样地操作时(比如插入数据)我们就 ...
分类:
其他好文 时间:
2020-06-19 23:19:59
阅读次数:
70
抽象工厂模式 定义:抽象工厂模式提供了一个创建一系列类相关或相互依赖对象的接口,无需指定他们具体的类 使用场景: 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强调一系列相关的产品对象(属于同一产品族)一起创建对象需要大量的重乎代码 提供一个产品类的库。所有的产品以同样的接口出现,从而是 ...
分类:
其他好文 时间:
2020-06-19 16:22:50
阅读次数:
57
我想我特别有必要来写一篇博客记录这次 BUG 了。 这是一个网上商城的项目,之前的持久层实现是自己用 JDBC 写的工厂,整个项目运行顺畅,后来学了 MyBatis,就想着持久层用 MyBatis 来实现,于是就动手重新整合一遍,数据持久化的工作都完成得挺好的,都通过了测试,不过当我在浏览器输入请求 ...
分类:
编程语言 时间:
2020-06-19 14:15:58
阅读次数:
65
抽象工厂 建立一个最高层级的工厂,用来生产不同产品的工厂,然后再建立一个产品规范,用来规定生产的产品需要有什么样的功能。 这样做的好处就是不需要关心创建的细节,并将一个系列的产品一起创建 产品的规范: /*电脑产品*/ public interface ComputerProduct { publi ...
分类:
其他好文 时间:
2020-06-19 12:14:34
阅读次数:
43
@(阿里云【名师课堂】Java面向对象开发71 ~ 72:接口的设计模式) Java一共有二十多种设计模式,最常用到的有三种:工厂、代理、单例。 71:工厂(Factory)设计模式(重点) 首先来看一个简单的程序范例:在进行类的设计时,首先需要有接口,而后接口要通过子类才可以进行对象的实例化处理。 ...
分类:
编程语言 时间:
2020-06-19 12:03:09
阅读次数:
58
工厂模式 作用: 实现了创建则和调用者的分离 详细分类: 简单工厂模式 工厂方法模式 抽象工厂模式 OOP七大原则 开闭原则:对扩展开放,对修改关闭 依赖倒置原则:要面向接口编程,不要面向实现编程。 迪米特法则: 只与你的直接朋友交谈、不跟“陌生人”说话。 核心本质: 实例化对象不使用new,用工厂 ...
分类:
其他好文 时间:
2020-06-19 11:58:38
阅读次数:
57
创建对象 我们开始可以用Object构造函数或者对象字面量来快速创建对象,但使用这种方式创建多个对象时会产生大量重复代码,所以我们有了以下几种创建对象的方式。 (1)工厂模式 function createPerson(name, age,sex){ //传入的参数可以类比成送入工厂的原材料 var ...
分类:
编程语言 时间:
2020-06-18 21:32:11
阅读次数:
88
用下面的例子比较: using System; namespace LearnObject { public class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); } public void Wash() { Console.W ...
分类:
其他好文 时间:
2020-06-18 21:26:39
阅读次数:
55
例如,要数一数菜单中每类菜有多少个,可以传递counting收集器作为groupingBy收集器的第二个参数:Map<Dish.Type, Long> typesCount = menu.stream().collect( groupingBy(Dish::getType, counting())) ...
分类:
其他好文 时间:
2020-06-18 21:22:09
阅读次数:
67