展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

随笔分类 -  算法与设计

上一页 1 ··· 4 5 6 7 8
摘要:简介 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上 案例1 类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类D,如果接口Interface1对于类A和类C来说不是最小接口,那么类B和类D必须去实现他们不需要的方法。 代码案例 pack 阅读全文
posted @ 2022-08-29 10:09 DogLeftover 阅读(32) 评论(0) 推荐(0)
摘要:简介 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2 注意事项和细节 1) 降低类的复杂度,一个类只负责一项职责。 2) 提高类的可读性,可维护性 3) 降低变更引起的风险 4 阅读全文
posted @ 2022-08-29 10:01 DogLeftover 阅读(33) 评论(0) 推荐(0)
摘要:简介 软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人 在1990年代从建筑设计领域引入到计算机科学的 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护 阅读全文
posted @ 2022-08-28 21:58 DogLeftover 阅读(31) 评论(0) 推荐(0)
摘要:六边形架构 个人理解 端口要么处理输入,要么处理输出 对于每种外界类型,都有一个适配器与之对应,外界通过应用层API与内部进行交互 事件驱动架构 总结 六边形架构是洋葱架构的一个超集 整洁架构是六边形架构的一个变体 洋葱架构,也称为整洁架构 洋葱架构、整洁架构 个人理解 依赖原则:代码依赖是从外向内 阅读全文
posted @ 2022-07-04 17:48 DogLeftover 阅读(433) 评论(0) 推荐(0)
摘要:中台 将业务系统中可以服务的前台与后台代码提取出来,形成公用组件 因此有了小前台大中台的设计思想 中台类型 业务中台:将公共的业务封装成可复用的组件 技术中台:封装业务系统所需的技术框架,设计出统一的API 数据中台:整理各业务系统的数据,建立数据存储与运算平台 具体实现 增删改操作使用领域驱动设计 阅读全文
posted @ 2022-07-04 17:45 DogLeftover 阅读(37) 评论(0) 推荐(0)
摘要:架构 └── demo ├── sscheduler | ├── context # 环境层 | ├── transaction # 事务层 | ├── domain | ├── object | | ├── aggregate1 | | └── aggregate2 | | | └── role 阅读全文
posted @ 2022-07-04 17:43 DogLeftover 阅读(97) 评论(0) 推荐(0)
摘要:DCI架构 DCI是数据Data 场景Context 交互Interactions的简称 DCI是一种特别关注行为的模式(可以对应GoF行为模式) 而MVC模式是一种结构性模式,MVC模式由于结构化,而可能忽视了行为事件 User Interface是用户接口层,主要用于处理用户发送的Restful 阅读全文
posted @ 2022-07-04 17:40 DogLeftover 阅读(230) 评论(0) 推荐(0)
摘要:值对象 public class Person { //人员id private String id; //姓名 private String name; //地址(值对象) private Address address; } public class Address { //省份 private 阅读全文
posted @ 2022-07-04 17:36 DogLeftover 阅读(136) 评论(0) 推荐(0)
摘要:充血模型 除了get和set方法,注入仓储对象,编写方法使用仓储对象进行持久化操作 仓储和工厂 持久层编写接口操作数据数据库 编写仓储接口 实现仓储接口,调用持久层对象(注入持久层对象) 领域层业务类调用仓储接口中的方法 工厂要做的事(PO转DO,DO转PO) 仓储作为领域模型和数据模型的中介,它负 阅读全文
posted @ 2022-07-04 13:51 DogLeftover 阅读(42) 评论(0) 推荐(0)
摘要:前言 参考 充血模型:在实体类中除了属性、getter、setter方法,还有一些业务方法 贫血模型:在实体类中只有属性和getter、setter方法,不能体现实体类在当前系统中的作用 仓库与工厂:将持久层所需的实体对象拆分出来,在持久层的接口方法中我们通常需要传入参数返回返回值等;而这些参数和返 阅读全文
posted @ 2022-06-22 22:45 DogLeftover 阅读(68) 评论(0) 推荐(0)
摘要:风格1 └── demo ├── application | ├── assembler # dto与do转换 | ├── dto # 数据传输对象 | ├── event | | ├── publish # 事件发布 | | └── subscribe # 事件订阅 | | | └── servi 阅读全文
posted @ 2022-06-22 22:42 DogLeftover 阅读(292) 评论(0) 推荐(0)
摘要:参考 项目中有实体类User @Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString @Accessors(chain = true) @TableName("user") @ApiModel(value = "User对象" 阅读全文
posted @ 2022-04-02 20:13 DogLeftover 阅读(68) 评论(0) 推荐(0)
摘要:单一职责原则 点击查看详情 两顶帽子: 为了实现新的功能,我们在原有代码的基础上,在不添加新功能的前提下调整原有程序结构,我们抽取出了 Strategy 这样一个接口和“不折扣”这个实现类;这时,原有程序变了吗?没有。但是程序结构却变了,增加了这样一个接口,称之为“可扩展点”。在这个可扩展点的基础上 阅读全文
posted @ 2022-01-01 11:29 DogLeftover 阅读(55) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8