0
点赞
收藏
分享

微信扫一扫

框架设计思维符合语义即可使用,而不用关心底层的实现

框架设计思维符合语义即可使用,而不用关心底层的实现

 

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,  静态成员常量如果对外界可见(可访问的话),将其放到接口中

框架设计思维符合语义即可使用,而不用关心底层的实现_框架设计_02

 (如果放到 中间那个抽取公共代码的抽象父类的话,它对外界是不可见的)

框架设计思维符合语义即可使用,而不用关心底层的实现_框架设计_03

 

 (抽象类一般设计用于抽取公共代码,例如某些方法的实现,不对外公开(不可见))

 

3,设计思路2:能循环利用的空间留下,不能循环利用的销毁

(1)设计动态的数组时 增删改查的元素 是int 类型时:

框架设计思维符合语义即可使用,而不用关心底层的实现_数组_04

 

 

 

(2)设计动态的数组时 增删改查的元素 是object 类型(泛型)时:

框架设计思维符合语义即可使用,而不用关心底层的实现_框架设计_05

 

 

 4,干脆初始化node 是其中一种情况结果的值(而且这个值还属于比较前的值,例如first)

框架设计思维符合语义即可使用,而不用关心底层的实现_框架设计_06

 

 作者:一乐乐

举报

相关推荐

0 条评论