摘要: ClassLoader 的作用 在java运行的时候,ClassLoader (类加载器) 负责将类文件加载到内存中,并转化为java 运行时的java 类。 ClassLoader 是java 虚拟的(JVM) 的一部分,它的主要作用是动态的加载java 类。 1. 当java 程序需要某个类时, 阅读全文
posted @ 2024-03-01 13:31 dousil 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 几天开始学习另外一种类型的设计模式: 结构型模式。 结构型模式,主要包括,门面,代码,适配,装饰,桥接,享元模式。 在设计模式中,结构型模式和行为型模式是两个不同的概念,它们分别关注于软件设计中的不同方面。 结构型模式(Structural Patterns): 结构型模式关注的是类与对象之间的组合 阅读全文
posted @ 2024-03-01 11:06 dousil 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 对于熟悉JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式,即使JavaScript 引入了类的概念,但它也知识基于原型语法糖而已。 不过如果你使用的是java C ++ 你就很少使用原型模式。 原型模式的原理和应用: 如果对象的创建成本比较大,而同一个类的不同对象之间差别 阅读全文
posted @ 2024-02-29 17:35 dousil 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 我在实际的使用中,老是感觉 构建者模式代码是由点重复的,即使使用@Builer 注解,有的时候,心里老师感觉到别扭,那到底什么时候应该使用构建者模式?实际上如果我们不关系代码是否有短暂的无效状态,也不太在意对象是否可变的。 我们可以直接用set ()方法,给对象设置。还有一个好处链式调用 无效状态: 阅读全文
posted @ 2024-02-29 17:09 dousil 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 一般情况下,工厂模式分为三种更加细分的类型: 简单工厂、工厂方法和抽象工厂。不过在GoF<设计模式> 中,他将简单工厂看作时工厂方法模式的一种特列,所以工厂模式分成了工厂方法和抽象工厂。实际上前边一种分类方法更加常用,所以今天我们沿用第一种分类方法。 在这三种细分的工程模式中,简单工厂和工厂方法比较 阅读全文
posted @ 2024-02-29 16:57 dousil 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 为什么要用单例 单例模式理解起来非常容易 一个类只允许创建一个对象(或者实例),那这个类就是一个单例,这种设计模式叫做单例设计模式。简称单例模式 1. 解决线程安全问题 2. 表示全局唯一 比如配置信息类,自系统中,我们只有一个配置文件,当这个配置文件加载到内存之后,以对象的形式存在,理所应当只用一 阅读全文
posted @ 2024-02-29 16:27 dousil 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 函数出错应该返回什么 关于函数出错返回类型,我们总结了4种情况,他们分别时错误吗,NULL 值,空对象,异常对象。 1. 返回错误码 2. 返回NULL 在多数的编程语言种,我们用NULL 来标识不存在这种语义,不过网上很多人不建议函数返回NULL 值,这是一种不好的设计思路, 如果某个函数可能返回 阅读全文
posted @ 2024-02-29 14:16 dousil 阅读(5) 评论(0) 推荐(0) 编辑
摘要: ID 生成器的需求背景介绍 ID 中文翻译为标识Identifier ,这个概念在生活,工作中随处可见,比如身份证、商业条形码、二维码、车牌号、驾照号。聚焦到软件开发中,ID 常用来标识一些业务信息的唯一标识,比如订单的单号或者数据库中的唯一主键,比如地址中ID 字段(实际上时没有业务含义的,对用户 阅读全文
posted @ 2024-02-29 11:14 dousil 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 命名 大到项目名,模块名,包名,对外暴露的接口,笑道类名,函数名,变量名,参数名。只要做开发,我们就逃不过起名字这一关,命名的好坏,对于代码的可读性来说非常中国要。 甚至起到决定性的作用。除此之外,命名能力也体现了一个程序员的而基本的素养。这也是我们把命名放到第一位的原因。 取一个合适的名字是一个非 阅读全文
posted @ 2024-02-29 10:12 dousil 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 1. 全局变量 2. 未决行为 3. 静态变量 4. 高度耦合 5. 违反依赖注入 6. 深层的继承 上边的案例,写测试用例都是非常难写的,他们违反了设计原则,从侧面说明类的设计不合理。 阅读全文
posted @ 2024-02-29 09:46 dousil 阅读(6) 评论(0) 推荐(0) 编辑