自由与约束

人皆向往自由,但是凡事都应两看,有时约束并非坏事。特别是在软件开发来说,似乎约束远远比自由更重要。

在java语言来说,它所带的约束远比C语言多得多:没法使用指针,无法直接对硬件设备作操作,一切都被约束在JVM上。但是,正是这些约束,使java脱离了指针越界的噩梦,脱离了硬件细节的泥沼,使它往更高层面发展,目前大量与各类商业业务逻辑相关的应用中,Java实现占的比例远远高于C的实现。也许有人会说这个约束和java的发展并没有直接的关联,所以出现这样状况不是必然的,只是机缘问题而已。

那么我们再看看我们常用的面向对象设计开发的思想,我相信大家都会同意,使用面向对象设计开发的思想需要遵循的约束会比随意编码的过程式编码多得多,但正是这种约束,使软件开发的可重用性得到了提高,正是这种约束,使软件能往更大的规模上发展。

同样,在我看来,OSGI也在软件发展的历程中将提供了同样的作用。相信刚接触OSGI的朋友都会觉得OSGI的门槛很高,因为特殊的类加载机制,使我们不得不遵循一些规则去设计和开发基于OSGI的应用系统,否则的话,我们就会很容易碰上诸如Class Not Found的问题,又由于OSGI的动态特性,bundle的不确定的加载顺序,我们也很容易会遇上服务引用为null的问题... ...。这些都给我们的开发带来了大量的约束,只有遵循这些约束,我们才能开发出正常可用的OSGI应用系统。

但当我们遵循了这些约束后,我们将会得到大量耦合松散、高度内聚的、可反复重用的软件模块。利用这些模块,我们可以快速组装并能应需变化的应用系统。这时,我们就可以看到我们在前期为约束付出的精力,在这一次次重用或重构中得到超额的回报。

现在,刚开始接触领域驱动设计,立即体会到领域驱动设计在某个角度来看,就是为OOD和OOP增加了合理的约束,只有我们很好地遵循这些约束,我们才能从领域驱动设计中获得设计能力和效率的提升。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值