前言
DDD & CQRS + 分层 & Interface + module = 优雅的代码 + 设计模式 = clean architecture
如果说以前的MVC是傻白甜,现在的DDD就是深似海
MVC更像是打着面向对象的旗子写面向过程的代码...
汪明鑫
5年前 (2020-01-09) 1265浏览 0评论
0喜欢
前言
任何数据结构都是由数组和链表组成
包括树、图、跳表等等,万变不离其宗
本文主要是对图相关内容进行复习和整理
树图这些玩意在大学都是老大难的一块
图的定义
图(Graph)是由顶点和连接顶点的边构成的离散结构
图是很灵活的一种数据结构
在某种意义上树和链表也是特...
汪明鑫
5年前 (2020-01-08) 848浏览 0评论
5喜欢
前言
最近在看《重构 改善既有代码的设计》,
有很多地方还是挺难的,感觉现在看有点早,应该工作满一年了再看,
因为很多重构还是需有一些经验支持,但既然看了就en着头皮看吧
目录介绍
第一章是一个小案例,通过一个案例,作者不断的优化,引入重构
第二章偏概念性,说实话有...
汪明鑫
5年前 (2019-10-15) 976浏览 0评论
1喜欢
最近在做代码质量相关事情,简单来说就是修改出问题的代码
用工具扫描全部代码,可以找出出问题的代码,再做相应的修改
总结如下:
命名严格遵守lowerCamelCase、UpperCamelCase,不要想当然哪里想大写就大写
不要用下划线命名
单元测试类命名 Xxx...
汪明鑫
5年前 (2019-09-18) 1139浏览 0评论
0喜欢
先举个小例子,差不多就了解观察者模式是什么玩意了
比如有一个天气数据中心,
有2个app(如墨迹天气、天气预报)的数据都是订阅这个数据中心的
当天气数据中心得到最新的天气情况,就会触发一个通知,通知所有的观察者,即上文说的墨迹天气、天气预报
这时候又来了一个新的天气app,比如某...
汪明鑫
5年前 (2019-09-16) 1028浏览 0评论
7喜欢
前言
学习命令模式痛苦的地方就是很多用不到,
真正开发也很少会刻意去写,就算用到也是有几个比较常见的
但还是得逼着自己看设计模式。。。
为了实现下一步研究spring源码的目标,硬着头皮去看点喽
接下来计划学习访问者模式、迭代者模式、观察者模式。。。一步步来吧
计划9月底前把设计...
汪明鑫
5年前 (2019-09-07) 921浏览 0评论
0喜欢
前言
装饰者模式顾名思义,做一个装饰
对原有逻辑进行一个包装,锦上添花
动态的把新功能附加到对象上,就像插件一样,即插即用
是继承的替代方案,但比只用的继承的承弹性更大,更灵活,且遵循设计模式原则
类图
Component:抽象组件(可以是抽象类...
汪明鑫
5年前 (2019-08-27) 956浏览 0评论
0喜欢
前言
解耦抽象和实现,使得两者可以独立的变化。
多重继承的替代方案
此处的 抽象 并不是指 抽象类 或 接口 这种高层概念,实现 也不是 继承 或 接口实现 。
抽象 与 实现 其实指的是两种独立变化的维度。其中,抽象 包含 实现,因此,一个 抽象 类的变化可能涉及到多种维度的变...
汪明鑫
5年前 (2019-08-26) 913浏览 0评论
0喜欢
前言
建造者模式顾名思义造东西的,因此是创建型设计模式
建房子需要打地基、砌墙、封顶
地基、砌墙、封顶都是建房子的必须的一部分,固定的建造部分组成整体
就可以使用建造者模式
过程和建造房子的部分相同,但不同的房子建造的高度质量等不太一样
通用类图
(...
汪明鑫
5年前 (2019-08-21) 928浏览 0评论
0喜欢
原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
以原型为模,克隆出所有属性均相同的对象
如克隆羊多利,记住这个例子,就不难理解原型模式了
使用场景
● 资源优化场景
类初始化需要消化非常多的资源,这个资源包括数据、硬件资源...
汪明鑫
5年前 (2019-08-20) 844浏览 0评论
0喜欢