C#五大基本原则

单一职责原则
就一个类而言,应该仅有一个引起他变化的原因。
也就是就一个类而言,仅有一个功能。
也就是在进行软件设计的时候,一个类不要承担太多的功能,如果一个类中如果承担太多的功能,就等于将这些职责耦合在一起。一个功能的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
设计软件真正要做的许多内容,就是发现职责并把那些职责相互分离。

开放封闭原则
开放是指软件的类是可以扩展的,
软件的封闭原则,是指软件的是不可以修改。
软件的扩展功能是,如果软件的某些方面的功能或者数据变动性强,或者扩展空间大,我们就尽量用父类将各个功能联系起来,然后用子类,将各个功能封装起来。
无论模块多么“封闭”,都对存在一些对之无法封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对那种变化封闭做出选择。
也就是对当我们要进行封闭和开放的选择的时候。我们应当慎重选择,我们应找出那些变动性强的,扩展空间大的用抽象进行隔离。

依赖倒转原则
依赖倒转原则的根本是:抽象不应该依赖细节,细节应该依赖抽象。
说白了就是子类应当依赖父类,父类不应依赖子类。接口不应依赖实现类,实现类应当依赖接口。
之所以让实现类依赖接口,那是因为实现类有许多个,但是接口只有一个。如果接口依赖具体类,如果该具体类出现问题,接口也就不能正常使用,而依赖于接口的其他的类也将不能正常使用,极有可能因为该具体类的一个小的错误,从而导致整个系统的瘫痪。

里氏代换原则
子类型必须能够替换掉他们的父类型
也就是如果一个软件实体使用的是一个父类的话,那么一定使用于其子类,而且它察觉不出父类对象和子类对象的区别。
因为如果这个软件实体使用的是一个父类,这么该父类的子类拥有该父类的所有的属性和方法还有变量(除了private声明的方法,变量,属性)。而子类不仅有父类的所有的功能和属性还有变量,它还有自己的功能属性和变量。该软件能在父类上运行,当然能在其子类上运行。

迪米特法则
如果两个类不必彼此直接接通,那么这连个类就不应当发生直接的交互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
迪米特法则强调的是成员之间的松耦合。迪米特法则的运用可以减少要联系两者之间的直接联系,从而减少两者之间的耦合,当其中一个不能使用的时候,不影响另一个正常工作。

发布了64 篇原创文章 · 获赞 15 · 访问量 7269

猜你喜欢

转载自blog.csdn.net/weixin_42263618/article/details/91355496