半个世纪之前开始有了软件工程,一开始大家强调模块化,于是能满足模块化要求的结构化编程语言大行其道。模块化的编程目标引出了软件质量的两个重要衡量标准:高内聚,低耦合,时至今日各种方泛滥的今天仍然是最
半个世纪之前开始有了软件工程,一开始大家强调模块化,于是能满足模块化要求的结构化编程语言大行其道。模块化的编程目标引出了软件质量的两个重要衡量标准:高内聚,低耦合,时至今日各种方泛滥的今天仍然是最重要的质量标准。
即使没学过软件工程,读过一点编程书或者上过一点编程课也不难接触这些概念,而且这些概念也是各种论坛什么的常见的关键字,在下就不必多言了。
下面和大家一起复习设计模式的基本原则,共七条:单一职责原则、封闭原则、里氏代换原则、接口分离原则、依赖倒置原则、组合复用原则、迪米特。前五条的首字母组成了著名的简写:SOLID 原则,后面两条也非常重要但它们往往体现在前五条的延伸。学术定义大家可以善用搜索引擎或书本,极容易找全。
单一职责原则怎么实现?每一个模块都只有一个职责要做,要少写功能,少即是多!功能多怎么办呢?组合!
里氏代换原则主要是针对继承式复用,类抽象就是为了你不要无聊的改来改去!尽量复用父类的功能或者复用父类功能的组合,不能复用的父类是不合格的。
接口是模块与模块之前的交点,接口分离原则依赖接口语义必须有不变性的,然后模块与模块之前才可以稳定的组合起来实现职责的分离。
依赖倒置原则是与迪米特最有共鸣的,目标是以最小的知识成本来完成目标,从这个角度审视细节的话其实很多是不必要的。
正交设计可能是许多人比较陌生了或者掌握不太清晰的概念,以我观察,包括我在内也很少人有正交四原则的概念。
正交即数学上讲的是平面上的两个垂直线段,其中一个线段变长或减短或者转圈圈,另外一根是不变的也不影响它们的垂直度的。软件工程上推演为两个只有交叉点而互不影响的模块,它们有更高的内聚和更低的耦合,这个交叉点即我们熟悉的接口。满足正交性的系统有更好的可重用性,只要接口主义不变,两个模块可以演进。如果把平面扩展到空间,可以继续做出互相垂直的模块而不影响现有模块的正交性,即可以有多个模块使用现在有模块的语义不变的接口而不必过度关心上下层互相的情况的发生。
关于正交设计四原则,摘录某大牛博文如下:消除重复、分离关注点、缩小依赖范围、向稳定的方向依赖。具体内容不解释,大家请自觉搜索。
我认为四个原则是软件工程的推导或设计原则的总结:消除重复体现了内聚性也总结了单一职责和迪米特、分离关注点是整个模块化思想的延伸、缩小依赖范围体现高内聚、向稳定的方向依赖简直是接口分离原则换了一个说法。
孰重孰轻我无法下结论,能融会贯通是最好的,最好的状态是你不需要刻意去一条条代入而实现了非常简洁合理的系统。
广州新悦网络开发有限公司致力于为客户提供优质的信息技术、研发和业务流程外包服务。广州新悦网络开发有限公司的业务分布在软件业、硬件业、互联网科技等领域,客户分散,设计众多个国家。广州新悦是中国最值得信赖的软件外包合作伙伴。专注提供软件外包、APP开发、智能硬件开发、O2O平台开发、政企信息化系统、大数据解决方案、物联网等开发外包服务,通过客户需求导向、式创新、卓越运营管理等战略的实施,全面打造公司的核心竞争力。 通过严格的质量标准和交付流程来客户的商业价值。
延伸相关词:
陈小艺被曝姐弟恋,倒追小伙被当保姆,陆贞传奇演员表,人鱼情未了 电视剧,莫小棋三级,保拉的诱惑,李慧珍老公,luciano rivarola,如意剧情介绍电视猫,电视剧当狗爱上猫