线代正交啥意思(说说正交这个概念)

这几天看了一些设计方面的文章,有些人提到正交这个词,恕我孤陋寡闻,之前对它没什么印象,感觉大概是一个数学词语。

专门查了下,正交这个词还真是从数学来的,大概意思是两个向量的内积为零,映射到几何上就是说两条直线相交成直角。这种情况下,沿着其中一条线移动的点在另一条线上的投影位置永远不变。如果说正交代表完全不相关,相对的平行就代表完全相关,而处于平行和正交之间的,就代表部分相关,此时通过它们的夹角来表示它们的相关程度。

线代正交啥意思(说说正交这个概念)(1)

关于数学上的正交就解释到这里,再看这个概念拓展到计算机技术上。在计算机技术中,正交就是两个或多个东西相互独立,没有交叉,改变其中一个不会影响另一个,其中一个也不能对另一个进行任何一点替代。比如if和for就是正交的。

然后这个东西有什么现实意义呢?

我们都知道世界是纷繁芜杂的,小到搞清楚女朋友的心思,大到分析世界局势,都不是那么容易的事。放到咱们软件开发上,就是怎么搞清楚用户的需求,怎么设计出结构优良的系统。

正交这一理念,可以应用在分析需求的时候。我们尝试对业务需求进行分类,然后看这些分类之间有无交集,有则重新分类,如此反复,直到他们之间形成相互独立的几个概念,可能是数个词语,这些词语之间没有任何包含关系,则说明需求的归纳没有问题,它们之间是正交的。比如我们将一个电商系统的需求分类为商品管理、订单管理、账户管理等几个方面。

线代正交啥意思(说说正交这个概念)(2)

进一步,再到子系统的划分、模块的划分、类和函数的设计上同样适用,这个模块和另一个模块的边界是不是清晰,这个类和另一个类的职责有没有交叉,这个函数代表的业务含义有没有含糊不清,要不要进一步拆解或者重新组合,就是看他们是否正交,正交的就是好的,不正交就是设计的有问题,需要重新审视、重新设计。

线代正交啥意思(说说正交这个概念)(3)

最后,符合正交的设计不就是符合低耦合高内聚的设计吗?!颇有异曲同工之妙。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页