软件框架设计之美

简介:         这篇文章可以看做是Apress出版的那本<<软件框架设计的艺术>>进阶阅读。欢迎大家留言,一同分享自己的心得体会~         软件大师Robert Martin早在1994年的论文中就提到了OO设计度量准则,站在可维护性(Maintainablity),可扩展性(Extensibility),可重用性(Resuability)的角度上,提出了
        这篇文章可以看做是Apress出版的那本<<软件框架设计的艺术>>进阶阅读。欢迎大家留言,一同分享自己的心得体会~

        软件大师Robert Martin早在1994年的论文中就提到了OO设计度量准则,站在可维护性(Maintainablity),可扩展性(Extensibility),可重用性(Resuability)的角度上,提出了著名的稳定抽象等价原则。随后几年,在Java领域出现了著名的Jdepend工具(基础概念,可以参看我的另一篇博文:http://fengjia10.iteye.com/blog/705269),enrich了大家的设计度量手段。而作为框架的发布形式,package或者说是bundle,异或module的设计无疑是相当讲究的。这里我为大家推荐几个不错的文献资料,希望能帮助有志于将自己的API甚至是框架设计的更趋近于Elegance的同学。后面陆续也会和大家分享一下自己在这方面的探索,欢迎交流。


文献阅读:


看看国外某咨询公司关于OO的研究成果吧
http://c2.com/cgi/wiki?OoDesignPrinciples


NetBean API如何组织的?没错,赶快翻阅吧
http://openide.netbeans.org/tutorial/api-design.html


以下是两篇非常棒的论文,不看会后悔的

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.5047

http://www.objectmentor.com/resources/articles/oodmetrc.pdf




目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 前端开发
移动应用开发的未来:跨平台框架与原生系统协同进化
【5月更文挑战第7天】 在当今快速发展的数字时代,移动应用已成为日常生活的延伸。本文旨在探讨移动应用开发领域的最新趋势,特别是跨平台开发框架的兴起以及它们如何与原生移动操作系统相互作用。我们将分析Flutter、React Native等流行的跨平台解决方案,并考察它们在性能、用户体验和生态系统中的地位。同时,我们也将关注Android和iOS两大阵营的最新进展,以及开发者应如何在这两者间做出选择或寻求平衡。最后,文章将提供对未来移动应用开发可能走向的见解,尤其是人工智能和机器学习技术对移动应用的影响。
|
7月前
|
存储 分布式计算 Hadoop
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Hadoop大数据处理框架,包括其底层原理、架构、编程模型、生态圈
150 0
|
3月前
|
存储 JavaScript 前端开发
Wikijs 简介 - 强大 & 可扩展的开源维基软件
Wikijs 简介 - 强大 & 可扩展的开源维基软件
|
机器学习/深度学习 人工智能 自然语言处理
简单易用高性能!一文了解开源迁移学习框架EasyTransfer
近日,阿里云正式开源了深度迁移学习框架EasyTransfer,这是业界首个面向NLP场景的深度迁移学习框架。该框架由阿里云机器学习PAI团队研发,让自然语言处理场景的模型预训练和迁移学习开发与部署更加简单和高效。本文将对EasyTransfer进行深度解读。开源地址:https://github.com/alibaba/EasyTransfer
4416 0
简单易用高性能!一文了解开源迁移学习框架EasyTransfer
|
7月前
|
SQL 分布式计算 算法
【大数据处理框架】Spark大数据处理框架,包括其底层原理、架构、编程模型、生态圈
【大数据处理框架】Spark大数据处理框架,包括其底层原理、架构、编程模型、生态圈
262 0
|
前端开发 开发者
如何构建可扩展的前端架构
作为一名前端开发者,你可能会发现你的应用程序在不断地增长,而你需要不断地修改代码才能满足新的需求。这时候,一个可扩展的前端架构就显得尤为重要了。在本文中,我将介绍一些构建可扩展前端架构的最佳实践。
125 0
|
API C语言 芯片
嵌入式底层开发的软件框架简述
嵌入式底层开发的软件框架简述
258 1
嵌入式底层开发的软件框架简述
|
Rust 前端开发 JavaScript
|
消息中间件 存储 分布式计算
浅谈分布式计算的开发与实现(一)
介绍 分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号(外星文明),淘宝双十一实时计算各地区的消费习惯等。
2265 0
|
分布式计算 算法框架/工具 TensorFlow
漫谈分布式计算框架
这是一个计算架构层出不穷的时代,每种架构都是为了解决其面对的领域问题出现的,必然包含对其问题的特殊优化。通用性不是用户解决问题的出发点,而更多的是框架设计者的“一厢情愿”,用户关注的永远是领域问题。从这个意义上讲,面向领域的计算架构应该才是正确的方向。
833 0