![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式详解+代码注释
举例详解设计模式
Vicali
程序员
展开
-
装饰模式(详解+代码注释)
装饰模式我们在IO中见到过不少装饰模式,装饰模式就是对原有对象进行增强。一般实现对象增强的三种方式:继承装饰模式代理模式一、为什么需要装饰模式?我们知道,子类继承父类,可以继承父类的属性,并进行扩展,但是如果需求变动大,需要扩展的功能很多,这时用继承就会发生这样一种现象:类数量多,继承的层次多。所以像这种情况,用继承非常不灵活。因此引入了装饰模式。二、代码实现前置代码:我们有一个电话接口Phone,和一个电话接口的实现类Iphone,Iphone的基础功能base()只有打电话。写一原创 2020-11-28 17:00:50 · 450 阅读 · 0 评论 -
模板方法设计模式(详解加案例)
模板方法设计模式抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。解决的问题:当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。换句话说,在软件开发中实现一个算法时,整体步骤是固定、通用的,这些步骤已经在父类中写好了。但是某些部分易变,易变部分可以抽象出来,供不同子类实现。这就是一种模板模式。例如:办理银行业务步骤是固定的 — 模板 — 抽象类1) 取号 —原创 2020-11-11 08:47:40 · 1497 阅读 · 0 评论 -
单例设计模式(注释详讲,并解决懒汉式线程安全问题)
单例设计模式1.什么是设计模式针对特定的问题提供的固定的最优的解决方案。在面向对象的编程语言中有23种设计模式:其中之一:单例设计模式2.什么是单例设计模式核心:确保对象唯一性。即:拿到某个类的对象,始终是同一个对象,多个对象引用的引用地址是相同的(栈中的多个对象引用指向堆中的同一个实体对象)基本类型变量恒等比较比较的是两个变量的值是否相等,引用类型变量恒等比较比较的是两个引用变量引用的地址是否相等。1】 饿汉式(注释详细解释了为什么这样做)之所以叫饿汉式,是因为对象在类加载的时候就创建原创 2020-11-10 17:52:05 · 461 阅读 · 3 评论