universsky2015的博客

电脑杂谈  发布时间:2020-06-05 06:16:53  来源:网络整理

net应用架构设计:原则_元数据管理平台总体架构设计研究_架构设计的六大原则

单一责任原则: 单一责任原则

Liskov替代原理: Liskov替代原理

依赖反转原理: 依赖反转原理

接口隔离原理: 接口隔离原理

Demeter法则: Demeter法则

开放式封闭原则: 开放式封闭原则

软件开发之所以具有这些原则的原因是由于复杂,多变和不可预测的需求. 不是在实际项目开发中遵循这六个原则中的每个原则,而是在项目开发过程中尽可能根据项目的实际需求来遵循这些原则. 当然,这样做绝对不容易,而且恐怕只有有经验的人才能真正做到这一点.

问题场景:

架构设计的六大原则_元数据管理平台总体架构设计研究_net应用架构设计:原则

模块独立性意味着每个模块仅完成系统所需的独立子功能,并且与其他模块的接触最少且界面简单. 耦合和内聚两个定性指标.

耦合也称为块间连接. 指衡量软件系统结构中的模块之间相互关联程度的度量. 模块之间的连接越紧密,耦合越牢固,模块的独立性越差. 模块之间的耦合程度取决于模块之间接口的复杂程度,调用方法和传递的信息.

耦合分类(从低到高)

1没有直接耦合:

2数据耦合: 是指两个模块之间的调用关系,传递简单的数据值,等效于高级语言的值传递;

3标记耦合: 指两个模块之间传递的数据结构,例如高级语言中的阵列名称,记录名称,文件名称等,这些名称是标记,实际上是标记的地址数据结构已传递;

4控制耦合: 当一个模块调用另一个模块时,它传递控制变量(例如开关架构设计的六大原则,标志等),并且被调用的模块通过控制变量的值在块中有选择地执行一个功能;

p>

架构设计的六大原则_元数据管理平台总体架构设计研究_net应用架构设计:原则

5公共耦合: 指通过公共数据环境进行交互的模块之间的耦合. 普通耦合的复杂性随耦合模块的数量而增加.

6内容耦合: 这是最高的耦合度,最坏的耦合度. 当一个模块直接使用另一个模块的内部数据,或通过异常条目转移到另一个模块时.

内聚力也称为块内连接. 指衡量模块功能强度的方法,即衡量模块中每个元素相互结合的紧密程度的方法. 如果模块中的元素(在名称和块之间)连接得更紧密,那么内聚性就更高.

内聚性分类(从低到高)

1偶然的内聚性: 这意味着模块中的处理元件之间没有连接.

2逻辑内聚性: 指的是通过参数确定模块完成哪个功能的模块,以执行几个逻辑相似的功能.

3时间汇总: 通过组合需要同时执行的动作组成的模块是时间汇总模块.

4通信内聚性: 指模块中以相同数据结构运行的所有处理元素(有时称为信息内聚性),或指的是每个过程使用相同的输入数据或相同的输出数据.

架构设计的六大原则_net应用架构设计:原则_元数据管理平台总体架构设计研究

5顺序衔接: 指模块中的每个处理元素与同一功能密切相关并且必须按顺序执行的事实. 前一个功能元素的输出是下一个功能元素的输入.

6功能凝聚力: 这是最强的凝聚力. 这意味着模块中的所有元素可以一起完成一项功能,这是必不可少的. 与其他模块的耦合最弱.

耦合和内聚是模块独立性的两个定性标准. 将软件系统划分为模块时,请尝试实现高凝聚力和低耦合度,提高模块的独立性,并为设计高质量的软件结构奠定基础.

一位伟大的大师说: 计算机科学中的所有问题都可以通过增加一个中产阶级来解决.

这个大师似乎是丹尼斯·德布鲁勒.

中产阶级的价值:

但是:

了解设计模式

架构设计的六大原则_net应用架构设计:原则_元数据管理平台总体架构设计研究

1. GOF在书中说: 设计模式是对类和对象的描述,它们相互通信以解决特定情况下的一般设计问题;

设计模式是不断反思和抽象软件开发经验,以解决问题的计划.

2. 丹尼斯·德布勒(Dennis DeBruler)曾经说过一句话: 计算机科学是一门认为所有问题都可以通过附加的间接解决方案解决的科学.

技术问题的解决方案相似: 添加一个间接层. 如: J2EE分层技术,重构等.

间接层的好处: 共享逻辑(重用),意图和实现的分离(增加的灵活性)架构设计的六大原则,变更的隔离(封装),去耦等.

但是请记住,太多的间接层应用程序将太多,这将导致简单的问题,复杂的阅读,难以理解的问题和其他问题. 适当地使用间接层,设计模式就是很好的例子.

但是,在特定的操作中,间接层在23种模式下的应用可能是大大小小的,非常灵活的,并且要注意其应用场景.

3. 设计模式中广泛遵循两个设计原则: 面向接口的编程而非实现;优先事项是使用组合而不是继承.

........

; mid = 2658337578&idx = 2&sn = f473d0e8005668f1ee8b798ea347893f&chksm = 8b02acb3bc7525a50d2b084652d6f5e3c7a11230eae338e375d2c54db1b4cae4bb0837a01944&to =>

中国第一个Kotlin开发人员社区的公共帐户,主要共享和交流相关主题,例如Kotlin编程语言,Spring Boot,Android,React.js / Node.js,函数式编程和编程思想. >


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-234464-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 雷歆
        雷歆

        其实美帝来了12海里又怎么样

      • 郭微凤
        郭微凤

        不存在蛆虫生存条件

      热点图片
      拼命载入中...