框架设计思维符合语义即可使用,而不用关心底层的实现
1,例如:自己设计一个动态数组时,实现清空操作
ArrayList arrayList = new ArrayList(); //ArrayList 这里是咱自己设计的一个动态数组 arrayList.clear(); //执行完清空操作后,接下来的get操作就get不到了(符合咱语义设计) arrayList.get(1); arrayList.add(1111);
(即使原来的数据残留在数组容器中,但是clear 操作执行后,达到了语义“清空的效果”啦)
(而且也没造成内存的浪费呀,如果接下来,咱要进行添加操作的话,elements[size] = element; size++; ) //清空后size = 0, 添加操作执行后,size++,即size = 1;
(咱的可操作范围依然是设计在size范围内进行操作啦)
总结:外面语义是清空,但是框架设计实现的是清空的效果,没必要真正的去清空内存、数据之类的...
2, 静态成员常量如果对外界可见(可访问的话),将其放到接口中
(如果放到 中间那个抽取公共代码的抽象父类的话,它对外界是不可见的)
(抽象类一般设计用于抽取公共代码,例如某些方法的实现,不对外公开(不可见))
3,设计思路2:能循环利用的空间留下,不能循环利用的销毁
(1)设计动态的数组时 增删改查的元素 是int 类型时:
(2)设计动态的数组时 增删改查的元素 是object 类型(泛型)时:
4,干脆初始化node 是其中一种情况结果的值(而且这个值还属于比较前的值,例如first)