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

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

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

 

1,例如:自己设计一个动态数组时,实现清空操作

ArrayList arrayList = new ArrayList();   //ArrayList 这里是咱自己设计的一个动态数组 
arrayList.clear();    //执行完清空操作后,接下来的get操作就get不到了(符合咱语义设计)
arrayList.get(1);
arrayList.add(1111);

 

2.png


(即使原来的数据残留在数组容器中,但是clear 操作执行后,达到了语义“清空的效果”啦)

(而且也没造成内存的浪费呀,如果接下来,咱要进行添加操作的话,elements[size] = element; size++; ) //清空后size = 0, 添加操作执行后,size++,即size = 1;

(咱的可操作范围依然是设计在size范围内进行操作啦)

 

总结:外面语义是清空,但是框架设计实现的是清空的效果,没必要真正的去清空内存、数据之类的...

 

2,  静态成员常量如果对外界可见(可访问的话),将其放到接口中


3.png

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


3.png


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

 

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

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

4.png

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

5.png


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

6.png

目录
相关文章
|
程序员
编程原则和模式
编程原则和模式
|
3月前
|
uml
建模底层逻辑问题之在建模时,对现实进行抽象该如何操作
建模底层逻辑问题之在建模时,对现实进行抽象该如何操作
|
6月前
|
设计模式 监控 算法
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(通用语言体系)
【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(通用语言体系)
145 2
|
3月前
|
测试技术
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
|
4月前
|
存储 设计模式 前端开发
软件架构设计的原则与模式:构建高质量系统的基石
【7月更文挑战第26天】软件架构设计是构建高质量软件系统的关键。遵循高内聚、低耦合、单一职责等设计原则,并灵活运用分层架构、微服务架构、客户端-服务器架构等设计模式,可以帮助我们设计出更加灵活、可扩展、可维护的软件系统。作为开发者,我们应该不断学习和实践这些原则与模式,以提升自己的架构设计能力,为团队和用户提供更加优秀的软件产品。
|
6月前
|
存储 安全 Java
12条通用编程原则✨全面提升Java编码规范性、可读性及性能表现
12条通用编程原则✨全面提升Java编码规范性、可读性及性能表现
|
6月前
|
运维 前端开发 JavaScript
平台设计-概念澄清说明
平台所说模块一般指一个独立部署的前端项目
|
机器学习/深度学习 人工智能 自然语言处理
这 10 本书,带你了解 ChatGPT 的底层逻辑
作为一门应用型学科,机器学习植根于数学理论,落地于代码实现。这就意味着,掌握公式推导和代码编写,方能更加深入地理解机器学习算法的内在逻辑和运行机制。 本书在对全部机器学习算法进行分类梳理的基础上,分别对监督学习单模型、监督学习集成模型、无监督学习模型、概率模型四个大类共 26 个经典算法进行了细致的公式推导和代码实现,旨在帮助机器学习的学习者和研究者完整地掌握算法细节、实现方法以及内在逻辑。
239 0
|
设计模式 Java uml
你的职责链模式符合五大原则吗?-系统学习九
工作之余对于用到的设计模式进行总结再梳理,发现职责链模式的妙处以及五大原则的指导下更能发挥职责链模式的优势于是乎便有了这篇博文的诞生
|
数据可视化
【设计篇】36 # 如何理解可视化设计原则?
【设计篇】36 # 如何理解可视化设计原则?
239 0
【设计篇】36 # 如何理解可视化设计原则?