单一职责原则:
对象不应承担太多功能,正如一心不能而用,比如太多的工作(种类)会使人崩溃。唯有专注才能保证对象的高内聚;唯有唯一,才能保证对象的细粒度。
解决问题:
假如有a和b两个类,当a需求发生改变需要修改时,不能导致b类出问题。
现状:
在实际情况很难去做到单一职责原则,因为随着业务的不断变更,类的职责也在发生着变化,即职责扩散。如类a完成职责p的功能,但是随着后期业务细化,职责p分解成更小粒度的p1与p2,这时根据单一职责原则则需要拆分类a以分别满足细分后的职责p1和p2。但是实际开发环节,若类的逻辑足够简单,可以在代码上级别上违背单一职责原则;若类的方法足够少,可以在方法级别上违背单一职责原则。
经典案例:
用一个类描述动物呼吸的场景
1 namespace mydemo 2 { 3 internal class animal 4 { 5 public void breath(string animal) 6 { 7 console.writeline($"{animal}呼吸空气"); 8 } 9 } 10 }
1 namespace mydemo 2 { 3 internal class program 4 { 5 private static void main(string[] args) 6 { 7 animal animal = new animal(); 8 animal.breath("您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
相关文章:
-
-
设计模式之三:抽象工厂设计模式(AbstractFactory)
设计模式之抽象工厂设计模式抽象工厂即提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类工厂方法模... [阅读全文] -
零蚀前言内容前面基本已经涵盖了锁的应用和一小部分原理,但是讲解的也不是很细致,并没有包含自旋,轻量级锁,偏向锁的... [阅读全文]
-
单例设计模式 定义:是设计模式中最简单的一个设计模式 单例设计模式本质上就是一个类,一个特殊的类 特殊... [阅读全文]
-
软件设计模式六大原则-接口隔离原则 Interface Segregation Principle
设计模式六大原则:单一职责原则设计模式六大原则:接口隔离原则设计模式六大原则:依赖倒置原则设计模式六大原则:里氏... [阅读全文] -
代码演示:demo1:模拟扩音器,放大声音model实体:package com.charis.io.model... [阅读全文]
-
设计模式。文章目录设计模式。GoF(Gang of Four) 23。创建型模式。5结构性模式。7行为型模式。1... [阅读全文]
-
介绍单例模式前先了解一下类加载的顺序类加载顺序1.加载父类静态代码块和静态变量,按代码顺序执行。2.加载子类静态... [阅读全文]
-
什么是一级域名一级域名又称为顶级域名,顶级域名又分为两类:一是国家顶级域名,200多个国家都按照ISO3166国... [阅读全文]
-
网友评论