软件构造博客3
2022/5/31 23:21:19
本文主要是介绍软件构造博客3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这一篇是有关于面向复用的软件构造技术
首先是几个级别的复用。
源代码级别的服用,模块级别的复用,库级别的复用,系统级别的复用
然后是复用的好处:降低成本和开发时间 ,测试,可靠、稳定标准化,在不同应用中保持一致
衡量复用性的标准: 小、简单 与标准兼容 灵活可变 可扩展 泛型、参数化 模块化 变化的局部性 稳定 丰富的文档和帮助 最主要的复用是在代码层面,但软件构造过程中的任何实体都可能被复用 白盒复用:源代码可见,可修改和扩展 黑盒复用:源代码不可见,不能修改 白盒框架,通过代码层面的继承进行框架扩展 黑盒框架,通过实现特定接口/delegation进行 框架扩展 子类型多态:客户端可用统一的方式处理 不同类型的对象 Covariance (协变) § See this example: § More specific classes may have more specific return types § This is called covariance of return types in the subtype. class T { Object a() { … } } class S extends T { @Override String a() { … } } class T { void b( ) throws Throwable {…} } class S extends T { @Override void b( ) throws IOException {…} } class U extends S { @Override void b( ) {…} } § Every exception declared for the subtype’s method should be a subtype of some exception declared for the supertype’s method. Contravariance (反协变、逆变) § What do you think of this code? § Logically, it is called contravariance of method arguments in the subtype. § This is actually not allowed in Java, as it would complicate the overloading rules. 目前Java中遇到这种情况,当作overload看待 L这篇关于软件构造博客3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南