人皆向往自由,但是凡事都应两看,有时约束并非坏事。特别是在软件开发来说,似乎约束远远比自由更重要。
在java语言来说,它所带的约束远比C语言多得多:没法使用指针,无法直接对硬件设备作操作,一切都被约束在JVM上。但是,正是这些约束,使java脱离了指针越界的噩梦,脱离了硬件细节的泥沼,使它往更高层面发展,目前大量与各类商业业务逻辑相关的应用中,Java实现占的比例远远高于C的实现。也许有人会说这个约束和java的发展并没有直接的关联,所以出现这样状况不是必然的,只是机缘问题而已。
那么我们再看看我们常用的面向对象设计开发的思想,我相信大家都会同意,使用面向对象设计开发的思想需要遵循的约束会比随意编码的过程式编码多得多,但正是这种约束,使软件开发的可重用性得到了提高,正是这种约束,使软件能往更大的规模上发展。
同样,在我看来,OSGI也在软件发展的历程中将提供了同样的作用。相信刚接触OSGI的朋友都会觉得OSGI的门槛很高,因为特殊的类加载机制,使我们不得不遵循一些规则去设计和开发基于OSGI的应用系统,否则的话,我们就会很容易碰上诸如Class Not Found的问题,又由于OSGI的动态特性,bundle的不确定的加载顺序,我们也很容易会遇上服务引用为null的问题... ...。这些都给我们的开发带来了大量的约束,只有遵循这些约束,我们才能开发出正常可用的OSGI应用系统。
但当我们遵循了这些约束后,我们将会得到大量耦合松散、高度内聚的、可反复重用的软件模块。利用这些模块,我们可以快速组装并能应需变化的应用系统。这时,我们就可以看到我们在前期为约束付出的精力,在这一次次重用或重构中得到超额的回报。
现在,刚开始接触领域驱动设计,立即体会到领域驱动设计在某个角度来看,就是为OOD和OOP增加了合理的约束,只有我们很好地遵循这些约束,我们才能从领域驱动设计中获得设计能力和效率的提升。
分享到:
相关推荐
基于加工公差约束的自由曲面棱镜设计,郭跃武,张效栋,自由曲面棱镜是轻型头盔显示系统的核心光学器件,其巧妙的设计以及精密的加工方法历来备受研究者关注。目前有关自由曲面棱镜的研
自己综合许多资料和自己的反复尝试,彻底把ADAMS中自由度以及冗余约束的问题给攻破了,技术完全自举创新。 本来打算付费阅读,想一想何苦呢,只要大家认可我的东西就我心满意足了,希望对大家的学习和科研有帮助,...
当前许多“违反洛伦兹对称性”的模型都是通过矢量或张量场来实现的,该矢量或张量场具有真空期望值,从而自发地... 结果表明,如果定义真空歧管的场-空间函数与主要约束条件交换,则拉格朗日乘数只能降低模型的自由度。
土地管理行政审批自由裁量行为约束机制研究,王良健,谢正良,本文采用问卷调查土地管理行政审批自由裁量行为约束机制研究与博弈分析相结合的方法,通过构建一个
基于关节自由度约束的上臂轴旋转跟踪误差补偿.pdf
基于点约束的交互式曲面自由变形技术,彭超华,刘飞,针对传统曲面自由变形技术控制点难于确定和变形不直观的问题,提出了一种基于点约束的的交互式曲面自由变形技术,可以通过鼠标交
分别在周长为Ls和Lτ的Ss1×Sτ1上使用点阵蒙特卡洛模拟研究了有限温度下的CPN-1 sigma模型,其中... 我们还计算了热熵,发现小Lτ态的自由度与N-1个自由复标量场一致,从而表明与大N研究对小Lτ的预测有很好的一致性。
《大清报律》约束下的新闻自由.docx
狭长矩形薄板自由扭转和约束扭转的统一理论,张文福,,薄壁构件受扭是工程中极为常见的一种现象。理论上,可将等截面开口薄壁构件看作是矩形薄板的组合体,比如工字型和十字型薄壁构件
选取冻胀敏感性粉质黏土,利用一维冻胀试验系统进行了自由边界、弹性约束、刚性约束条件下的冻胀试验,得出土体含水量、补水量、冻胀量、冻胀速率、冻胀力的变化规律及冻胀力与冻胀量之间的动态平衡关系。结果表明:...
Tomita-Takesaki模块化理论在量子场论中提供了一组代数工具,适用于研究状态的... 我们探索自由场和共形场理论的这些不等式。 我们推测Rényi发散的第二个零阶导数是非负的,这是对Rényi族的量子零能级条件的推广。
针对非过约束五自由度并联机构是否存在这一机构学公开难题进行了解析判定。分析了构成两种五自由度并联机构所需要的约束的性质和数目,以及它们之间的关系。以螺旋理论为分析手段,得到了非过约束五自由度并联机构...
针对具有约束分支的3SPS+UP少自由度并联机构刚度与弹性变形问题,采用基于主动/被动约束力旋求解其总刚度矩阵和弹性变形的方法.结果表明:对3SPS+UP并联机构的受力状态进行分析,并确定主动/约束力旋的姿态,分析3SPS+UP...
行业分类-设备装置-含双平台的过约束五自由度混联机器人
该方法基于陈述式的对象族模型构建自由曲面对象族, 使自由曲面具有高层次的语义信息, 可以保证自由曲面特征无缝地融合到模型中去, 同时满足自由曲面特征与其他特征间的约束关系。通过约束定义自由曲面特征具有的...
业务流程与自由流程的区别 业务流程可以约束多个单据之间数据转换,而单据转换规则定义的是两个单据之间的转换关系,我们把仅依据单据转换规则进行流转的流程叫做自由流程。 从用户使用角度说,若是新建单据时,将...
我在网上为机械类学生解答的机械机构自由度计算题集。答题要点是正确识别机构中的活动构件数、虚约束、局部自由度、复合铰链、高副与低副。
针对机构特点,基于螺旋理论分析机构自由度与约束,给出机构自由度矩阵与约束矩阵,得出该机构有2个转动自由度。依据构型建立机构坐标系,通过构造闭环矢量,建立驱动长度与动平台转动角度的数学模型并求得运动学逆解。...
构造的拉格朗日函数使矢量场最多传播三个自由度,从而避免了第四极化的鬼影性质。 该构造对具有简并的黑森州的约束系统利用了众所周知的条件。 我们根据现有约束代数的性质简要讨论了casuistry。 我们还将探讨文献...