T
平时开发需求的时候,对某个功能其实可以再做拆分的,这个意识我认为还是很关键的。
我一般采取的步骤是这样,对一个功能比较多的类C:
- 使用匿名内部类来对内部的 属性/方法 做集合,因为总是有 信息/方法 是有更亲密的关系的,所以先这样进行划分,使用
val a = object { }
的语法 - C 类作为对多个 内部匿名类对象的 封装,即”组装”的形式,使用内部匿名类对象的功能,或者对外暴露。
- 将内部匿名类对象从 C 类中拆出成单个类,C 使用这些抽离出来的外部类。
- 假设 C 的包名为 path/to/package , 我一般会将这些外部类放入 path/to/package/components
- 对这些外部类进行抽象,以使得这个类的功能是可替换的。
R
本两周划水,滑呀滑
A
https://leetcode-cn.com/problems/shift-2d-grid/ , 简单题,是一道数学题目。