设计模式六大原则:单一职责原则
程序员文章站
2022-07-17 07:50:09
单一职责原则: 对象不应承担太多功能,正如一心不能而用,比如太多的工作(种类)会使人崩溃。唯有专注才能保证对象的高内聚;唯有唯一,才能保证对象的细粒度。 解决问题: 假如有A和B两个类,当A需求发生改变需要修改时,不能导致B类出问题。 现状: 在实际情况很难去做到单一职责原则,因为随着业务的不断变更 ......
单一职责原则:
对象不应承担太多功能,正如一心不能而用,比如太多的工作(种类)会使人崩溃。唯有专注才能保证对象的高内聚;唯有唯一,才能保证对象的细粒度。
解决问题:
假如有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("
赞 (0)
打赏
微信扫一扫
相关文章:
-
-
[系列] go-gin-api 路由中间件 - 日志记录(三)
[TOC] 概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 v... [阅读全文] -
一、前端概述 二、什么是HTML? htyper text markup language 即超文本标记语言 超文本:就是指页面内可以包含图片、链接... [阅读全文]
-
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,注意:使用前需要先加载vue文件才可以使用... [阅读全文]
-
概述 静态页面生成是常用的提升性能手段,将一些高并发、变化频率低、对延迟容忍度高的页面生为静态页面,在电商场景中首页、商品详情页、帮助中心页、专题页... [阅读全文]
-
extend是jQuery中一个比较核心的代码,如果有查看jQuery的源码的话,就会发现jQuery在多处调用了extend方法。 作用 1. 对... [阅读全文]
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
上一篇: Monad 在实际开发中的应用
下一篇: 老生常谈之js深拷贝与浅拷贝
发表评论