上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 组合模式 应用场景:当数据是树形结构时,可应用组合模式,大大简化了代码的实现。 实现:将一组对象组织成树形结构,将单个对象和组合对象都看成树中的节点,以统一处理逻辑。并利用树形结构的特点,递归的处理每个子树,以简化代码的实现。 把子对象放到父对象里,递归的时候可以调用子对象。 阅读全文
posted @ 2022-05-23 19:10 Shengjie 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 门面模式 定义 提供一个高层的接口,这个接口里包括一组接口,给用户调用。这组被包裹的接口是所有接口的一个子集。可以避免用户多次调用不同接口,同时又避免了调用所有的接口。比如,系统A有a、b、c、d四个接口,系统B只需要a、b、d三个接口。可以将a、b、d三个接口包裹成一个门面接口给系统B使用。 应用 阅读全文
posted @ 2022-05-22 20:05 Shengjie 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 解决的问题: 将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。 可以用于补救设计上的缺陷。 类适配器: 使用继承关系实现 适配器类继承自类并实现不兼容的接口,兼容的部分可以直接调用,不兼容的部分可以重写。 adapter extens Class i 阅读全文
posted @ 2022-05-21 21:47 Shengjie 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 客户生成公钥和私钥 公钥放到服务器上 客户发送登录请求给服务器 服务器返回随机数据给客户 客户通过私钥对随机数据进行加密,然后发给服务器 服务器通过公钥对加密后的随机数据进行解密,和之前发送出去的随机数据进行对比,一致则通过登录请求 阅读全文
posted @ 2022-05-20 14:28 Shengjie 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 定义有两种 1,来自GoF的《设计模式》:将抽象和实际解耦,两者可以独立变化。 2,一个类有两个及以上的变化维度,通过组合的方式,让这两个及以上的维度可以独立进行扩展。 如何实现 基于接口实现同个维度下的各种变化,然后再组合使用。 金句 很多设计模式都是通过将庞大的类拆成细小的类,然后通过 阅读全文
posted @ 2022-05-19 20:28 Shengjie 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 代理模式 不改变原始类,引入代理类给原始类增加功能。 1,原始类是自己写的代码: 组合 将原始类和代理类都基于接口实现。代理类的方法内调用原始类,并在前后增加新的代码以实现新功能。 2,原始类是第三方库,无法修改或者没有基于接口实现: 继承 代理类继承自原始类,然后通过super调用原始类里的方法, 阅读全文
posted @ 2022-05-18 12:02 Shengjie 阅读(14) 评论(0) 推荐(0) 编辑
摘要: background: 系统A启动的时候加载数据到内存,并解析到hashmap里; 系统B分析日志,定期更新数据库中的数据,并标记为最新的数据版本; 需求1 系统A需要定期根据数据库中的数据,更新内存中的数据: 记录当前数据的版本和更新时间,然后定期从数据库中取出新增的数据并解析到hashmap里。 阅读全文
posted @ 2022-05-17 19:05 Shengjie 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 当构造函数里的参数很多,并且有很多是非必填的参数时,这些参数可以通过写单独的set()方法进行设置。必填的参数写在构造函数里。 先new一个对象出来,然后通过set()方法设置其他参数。 但是会有如下三个问题: 1,当必填参数很多的时候,构造函数里会写很多。如果将参数通过set()设置,则没法写参数 阅读全文
posted @ 2022-05-16 22:22 Shengjie 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 简单工厂: 将创建类的代码剥离出来,放到一个类里面,通过实例化这个类去获取想要的对象。 先将多个类的对象存储到map里,然后通过get方法从里面获取 工厂方法: 基于接口去实现多个不同的方法,类继承自接口,然后重写方法 类里面再创建一个静态类,静态类里从父类获取对应的方法的逻辑,父类里时多种不同的实 阅读全文
posted @ 2022-05-15 17:53 Shengjie 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 基于接口实现 使用组合而非继承 先创建一个类,在类里面定义一个set的方法。 然后创建一个类的实例,通过这个实例调用set方法设置参数 然后通过这个实例调用这个类里面的其他方法 一个接口 基于这个接口实现两种viewer类 然后在组装类(上帝类 god class)里面使用到这个viewer类以及其 阅读全文
posted @ 2022-05-15 17:52 Shengjie 阅读(18) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页