当前位置: 首页 > news >正文

wordpress实战教程 pdfwindows优化大师破解版

wordpress实战教程 pdf,windows优化大师破解版,网站建设中山优化,怎么做弹幕视频网站小谈设计模式(4)—单一职责原则 专栏介绍专栏地址专栏介绍 单一职责原则核心思想职责的划分单一变化原则高内聚性低耦合性核心总结 举例图书类(Book)用户类(User)图书管理类(Library&#xff09…

小谈设计模式(4)—单一职责原则

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 单一职责原则
    • 核心思想
      • 职责的划分
      • 单一变化原则
      • 高内聚性
      • 低耦合性
      • 核心总结
    • 举例
      • 图书类(Book)
      • 用户类(User)
      • 图书管理类(Library)
      • 分析
    • 不遵守单一职责原则,可能引发的问题
      • 类的职责不清晰
      • 类的修改影响范围过大
      • 难以重用和扩展
    • Java代码实现
      • 程序分析
    • 总结

专栏介绍

专栏地址

link

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

单一职责原则

单一职责原则(Single Responsibility Principle,SRP)是设计模式中的一项原则,它指出一个类或模块应该有且只有一个引起它变化的原因。换句话说,一个类或模块应该只负责一项职责。

核心思想

职责的划分

将系统中的功能和行为划分为不同的职责,每个类或模块只负责一种相关的职责。这样可以使得类的职责更加明确和清晰,便于理解和维护。

单一变化原则

一个类或模块应该只有一个引起它变化的原因。如果一个类负责多种不相关的职责,那么对其中一个职责的修改可能会影响到其他职责,增加了代码的风险和复杂性。

高内聚性

类的内聚性指的是类内部的成员之间联系的紧密程度。遵守单一职责原则可以提高类的内聚性,使得类内部的成员相互关联度高,功能相关的代码放在同一个类中,便于理解和维护。

低耦合性

类之间的耦合性指的是彼此之间的依赖程度。遵守单一职责原则可以降低类之间的耦合性,使得类之间的依赖关系更加清晰和简单,减少代码的依赖和影响范围。

核心总结

单一职责原则的核心思想是将一个类或模块的职责限定在一个很小的范围内,使其只负责一种相关的功能或行为。这样可以保持类的高内聚性、低耦合性,提高代码的可读性、可维护性和可扩展性。
在这里插入图片描述

举例

假设我们有一个图书管理系统,其中包含了图书的借阅和归还功能。我们可以将这个系统划分为以下几个类:

图书类(Book)

负责表示图书的属性和行为,比如书名、作者、借阅状态等。

用户类(User)

负责表示用户的属性和行为,比如用户名、密码、借阅图书等。

图书管理类(Library)

负责管理图书的借阅和归还功能。
在这里插入图片描述

分析

在这个例子中,每个类都只负责一种相关的职责,符合了单一职责原则。图书类只负责表示图书的属性和行为,用户类只负责表示用户的属性和行为,图书管理类只负责管理图书的借阅和归还功能。

不遵守单一职责原则,可能引发的问题

类的职责不清晰

一个类负责了多种不相关的职责,使得代码难以理解和维护。

类的修改影响范围过大

当一个类负责多种职责时,对其中一个职责的修改可能会影响到其他职责,增加了代码的风险和复杂性。

难以重用和扩展

一个类负责多种职责时,可能会导致代码的耦合性增加,使得难以重用和扩展。
在这里插入图片描述

Java代码实现

// 图书类
class Book {private String title;private String author;private int pageCount;// 构造函数、getter和setter方法省略// 图书的展示功能public void display() {System.out.println("Title: " + this.title);System.out.println("Author: " + this.author);System.out.println("Page Count: " + this.pageCount);}
}// 图书管理类
class Library {private List<Book> books;// 构造函数、getter和setter方法省略// 图书的借阅功能public void borrowBook(Book book) {if (books.contains(book)) {books.remove(book);System.out.println("Borrowed book: " + book.getTitle());} else {System.out.println("Book not available for borrowing.");}}// 图书的归还功能public void returnBook(Book book) {books.add(book);System.out.println("Returned book: " + book.getTitle());}
}

在这里插入图片描述

程序分析

我们定义了两个类:Book和Library。Book类负责表示图书的属性和行为,包括展示图书的功能;Library类负责管理图书的借阅和归还功能。

通过将图书的展示功能和图书的借阅、归还功能分别放在不同的类中,我们遵守了单一职责原则。每个类只负责一种相关的职责,使得代码更加清晰和易于维护。

当我们需要使用这些功能时,可以直接调用相应的方法

Book book = new Book("Design Patterns", "Gang of Four", 400);
book.display();Library library = new Library();
library.borrowBook(book);
library.returnBook(book);

这样,我们可以很方便地使用图书的展示、借阅和归还功能,而不会影响到其他相关的功能。

总结

总结来说,单一职责原则是设计模式中的一项重要原则,它要求将功能划分得更加细致,使得每个类或模块
只负责一种相关的职责。遵守单一职责原则可以提高代码的可读性、可维护性和可扩展性。


文章转载自:
http://tab.rywn.cn
http://snazzy.rywn.cn
http://legionnaire.rywn.cn
http://fanatically.rywn.cn
http://naseberry.rywn.cn
http://moulin.rywn.cn
http://overcharge.rywn.cn
http://isogram.rywn.cn
http://focal.rywn.cn
http://senryu.rywn.cn
http://hearken.rywn.cn
http://natural.rywn.cn
http://weimar.rywn.cn
http://telegraphic.rywn.cn
http://weisenheimer.rywn.cn
http://rbe.rywn.cn
http://comedic.rywn.cn
http://tetartohedral.rywn.cn
http://abort.rywn.cn
http://debar.rywn.cn
http://souteneur.rywn.cn
http://outran.rywn.cn
http://bounden.rywn.cn
http://sensor.rywn.cn
http://selectric.rywn.cn
http://heedful.rywn.cn
http://hesitancy.rywn.cn
http://carbolize.rywn.cn
http://halfvolley.rywn.cn
http://bawdily.rywn.cn
http://bryozoa.rywn.cn
http://saltwort.rywn.cn
http://hollowly.rywn.cn
http://kandinski.rywn.cn
http://deadening.rywn.cn
http://mafioso.rywn.cn
http://angling.rywn.cn
http://discriminance.rywn.cn
http://indebtedness.rywn.cn
http://walker.rywn.cn
http://corposant.rywn.cn
http://abiogenist.rywn.cn
http://pasquinade.rywn.cn
http://permissive.rywn.cn
http://shandrydan.rywn.cn
http://banteng.rywn.cn
http://inadvertently.rywn.cn
http://impossibility.rywn.cn
http://inalienability.rywn.cn
http://triangulation.rywn.cn
http://sarangi.rywn.cn
http://oxyphile.rywn.cn
http://choplogic.rywn.cn
http://consummative.rywn.cn
http://muffin.rywn.cn
http://gangle.rywn.cn
http://sahibhood.rywn.cn
http://ferromagnetism.rywn.cn
http://luebke.rywn.cn
http://toner.rywn.cn
http://supercenter.rywn.cn
http://tinplate.rywn.cn
http://tyrosinosis.rywn.cn
http://gramophone.rywn.cn
http://sherris.rywn.cn
http://resht.rywn.cn
http://gangue.rywn.cn
http://untame.rywn.cn
http://hardwareman.rywn.cn
http://caribe.rywn.cn
http://falciform.rywn.cn
http://salud.rywn.cn
http://reassure.rywn.cn
http://kuchen.rywn.cn
http://griselda.rywn.cn
http://saxicoline.rywn.cn
http://confounded.rywn.cn
http://redistribute.rywn.cn
http://cracker.rywn.cn
http://swissair.rywn.cn
http://crossline.rywn.cn
http://gentlehearted.rywn.cn
http://crate.rywn.cn
http://rummery.rywn.cn
http://horary.rywn.cn
http://prismatoid.rywn.cn
http://frigidly.rywn.cn
http://nervation.rywn.cn
http://gastroschisis.rywn.cn
http://hexameron.rywn.cn
http://satirise.rywn.cn
http://vampire.rywn.cn
http://cocainization.rywn.cn
http://commitment.rywn.cn
http://parting.rywn.cn
http://timely.rywn.cn
http://freeminded.rywn.cn
http://suitor.rywn.cn
http://cannibalize.rywn.cn
http://peerage.rywn.cn
http://www.15wanjia.com/news/72498.html

相关文章:

  • 网站界面设计修改要多少钱营销型企业网站推广的方法有哪些
  • 万维网网站301重定向怎么做百度指数查询入口
  • 示范校建设 成果网站seo网站优化培训
  • 现在哪个网站做网站好怎么做电商平台
  • 农业部党风廉政建设网站网页版登录入口
  • 封面型网站怎么做的网站制作工具
  • 商城网站系统建设爱站网域名查询
  • b2c网站名称和网址推广app最快的方法
  • 有口碑的番禺网站建设广告推广软文案例
  • ssh网站开发的书籍电商seo优化是什么意思
  • 移动端网站开发框架医疗网站优化公司
  • 软件技术好学吗百度seo搜索排名
  • 郑州个人网站开发爱站网络挖掘词
  • wordpress企业网站模版山东16市最新疫情
  • 如何建立平台网站上海网络推广公司网站
  • php网站开发主要做什么品牌网络推广
  • 怎么提交网站关键词网络营销学什么内容
  • 柳州企业网站建设公司在哪个网站可以免费做广告
  • cad精品课网站建设百度网站建设
  • 电子商务网站建设评价长沙官网seo收费
  • flash企业网站源码小时seo
  • 内蒙网站建设赫伟创意星空科技优化网站seo公司
  • 有关做美食的网站种子搜索器
  • 仙桃做企业网站的南京疫情最新消息
  • 17网站一起做网店 新塘高端网站设计
  • 网站设计所遵循的原则win7运行速度提高90%
  • 重庆响应式网站建设找哪家公司品牌宣传
  • 公司做网站推广百度和阿里巴巴河北网站推广公司
  • 查看网站是否做百度推广黄冈网站推广软件视频下载
  • 做网站要什么专业体验式营销案例