模版方法(template method) 在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法 ...
分类:
其他好文 时间:
2020-10-22 23:14:23
阅读次数:
50
前文提到,理解面向对象编程和面向对象编程语言,关键是要理解四大特性(封装、抽象、继承、多态)。仅仅知道定义是不够的,我们要深刻理解它们的意义和目的,以及能解决什么问题。 本文结合代码来解析四大特性。有一点要注意,不同编程语言对于四大特性的语法机制不尽相同,但我们的分析不与特定编程语言挂钩,不要局限在 ...
分类:
其他好文 时间:
2020-10-22 22:58:21
阅读次数:
23
定义: 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 结构: Target:目标接口,定义与客户端交互相关的接口,目标可以是具体的或抽象的类,也可以是接口。 Adaptee:源接口,需要适配的 ...
分类:
Web程序 时间:
2020-10-21 21:20:30
阅读次数:
32
一、六大设计原则 1、单一职责原则 【Single Responsibility Principle】 保证类的职责要单一。 应该有且仅有一个原因引起类的变更。 好处: 类的复杂性降低 可读性提高 可维护性提高 比那更引起的风险降低 2、里氏替换原则 【Liskov Substitution Pri ...
分类:
其他好文 时间:
2020-10-21 20:26:08
阅读次数:
18
大家好,欢迎来到设计模式专题,我们的主旨是介绍一些有趣好玩的设计模式。 今天我们介绍的设计模式叫做命令模式(command),在这个模式下,我们可以实现do和undo的解耦,让使用方不用关心内部的实现细节。 command模式 这个模式我们在日常当中经常使用,举一个很简单的例子,比如说我们发布代码。 ...
分类:
其他好文 时间:
2020-10-18 16:14:47
阅读次数:
25
今天在这分享目前国内公司Java面试常问的问题包括JVM、常用的算法和数据结构,redis缓存,分布式,Spring,微服务等。正所谓知己知彼,只有体系知识巩固,面对不断更新的技术才能快速掌握,同时在面试、工作中也更能脱颖而出! 由于篇幅原因,在这答案就不做全部展示了,这些题我已经整理成pdf文档免 ...
分类:
编程语言 时间:
2020-10-16 10:42:00
阅读次数:
22
在程序员编写代码时候其实需要考虑到很多问题:可用性(完整的达到业务目的)健壮性(程序在各种环境各种操作都能保证正常的运行)复用性(代码能够被别的模块调用来达到不同的目的,这里一定程度上有解耦的思想)可扩展性(代码设计足够灵活,能够适应尽可能多的业务)性能内存占用(在我理解里性能与内存占用往往两难全,性能的提升,往往代表内存的更多占用。比如动态数组ArrayList为了避免频繁的扩容,会进行1.5倍
分类:
编程语言 时间:
2020-10-14 20:49:30
阅读次数:
47
简介 双重检测锁定模式是一种设计模式,我们通过首次检测锁定条件而不是实际获得锁从而减少获取锁的开销。 双重检查锁定模式用法通常用于实现执行延迟初始化的单例工厂模式。延迟初始化推迟了成员字段或成员字段引用的对象的构造,直到实际需要才真正的创建。 但是我们需要非常小心的使用双重检测模式,以避免发送错误。 ...
分类:
编程语言 时间:
2020-10-14 20:19:17
阅读次数:
27
选择 冒泡排序过程,插入排序移动次数,快速排序二轮划分 chmod命令 死锁出现的情况 八进制乘法 设计模式判断 白盒测试用于(单元测试) SQL建立存储的过程 操作系统分区管理 LRU/OPT算法缺页次数 UDP/TCP TCP报文首部(看一条,哪部分是哪部分) 进程调度算法 前序+中序->后序 ...
分类:
其他好文 时间:
2020-10-14 19:59:50
阅读次数:
18
C#简单工厂模式模型,建立一个模型,构建我们的实际工程,项目。所有面向对象的编程都是在我们生活中存在的,从词义的解释就是我们生活中的工厂就是负责生产产品的,而到开发中对应的就是NEW不同的对象,该模式主要解决的问题就是解决创建对象与该类的解耦。设计原则中经常说的类单一职责、封装性都有体现。学习框架的目的:为了适应业务的复杂度提高,给业务进行解耦操作。面向对象目标:高内聚、低耦合、可重用。编程中的简