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

唐山网站建设公关公司

唐山网站建设,公关公司,平台一直维护是不是要跑路了,wordpress 页面404背景 面向对象是抽象技术的一种实现,将对象作为真实世界中实体的抽象,代表了特定的一块密集而内聚的信息。在面向对象设计及实现中,重点考虑的就是如何做到关注点分离。因为对象内的联系通常比对象间的联系更强。关注点分离就是将对象中高频…

背景

面向对象是抽象技术的一种实现,将对象作为真实世界中实体的抽象,代表了特定的一块密集而内聚的信息。在面向对象设计及实现中,重点考虑的就是如何做到关注点分离。因为对象内的联系通常比对象间的联系更强。关注点分离就是将对象中高频的动作(涉及对象的内部结构)和低频率的动作(涉及对象间的相互作用)分离出来。针对对象内部结构的设计原则,这里也称为"高内聚",而针对对象间相互作用的设计原则,这里也称为"低耦合"或"松耦合"。
高内聚、松耦合只是偏理论的原则,那么在实际的面向对象的设计和实现过程中,又该如何保证这个原则呢?罗伯特·C·马丁在21世纪早期引入的记忆术首字母缩略字SOLID(单一职责、开闭原则、里氏替换、接口隔离以及依赖反转,指代了面向对象的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能。SOLID所包含的原则是通过引发编程者进行软件源代码的代码重构进行软件的代码异味清扫,从而使得软件清晰可读以及可扩展时可以应用的指南。需要说明的是,在实际的面向对象开发过程中,开发者还会使用“迪米特法则”和“组合/聚合复用原则”。所以,面向对象的基本原则一共有7个(SOLID + 2),它们是:(1) 单一职责原则;(2) 开闭原则;(3) 里氏替换原则;(4) 接口隔离原则;(5) 依赖倒置原则;(6) 迪米特法则;(7) 组合/聚合复用原则。

1. 单一职责原则(Single Responsibility Principle)

每一个类应该专注于做一件事情。在编码的过程中,常使用“职责分离”思想来遵循该原则。

2. 开闭原则(Open Close Principle)

面向扩展开放,面向修改关闭。该原则是一种编码追求,过度的追求“开闭原则”会带来功能会系统的复杂性。

3. 里氏替换原则(Liskov Substitution Principle)

基类存在的地方,都可使用子类替换。里氏代换原则的直接应用是多态(动态绑定)。

4. 接口隔离原则(Interface Segregation Principle)

应为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。该原则指明客户(client)应该不依赖于它不使用的方法。也是实现“高内聚”的方式之一。该原则也用于系统解耦,方便系统重构。

5. 依赖倒置原则(Dependency Inversion Principle)

也称为“依赖倒置原则”,“依赖反转原则”。该原则是指一种特定的解耦(传统的依赖关系创建在高层次上,而具体的策略设置则应用在低层次的模块上)形式,使得高层次的模块不依赖于低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象。该原则规定:
(1)高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象接口。(面向接口编程)
(2)抽象接口不应该依赖于具体实现(类的实例)。而具体实现则应该依赖于抽象接口(实现尽量依赖抽象,不依赖具体实现)

6. 迪米特法则(Law Of Demeter)

又叫“最少知识原则”,一个软件实体应当尽可能少的与其他实体发生相互作用。(这里将其称为“最小知道原则”)该原则是实现松耦合(Loose Coupling)遵循的原则之一。

7. 组合/聚合复用原则(Composite/Aggregate Reuse Principle, CARP)

合成/聚合复用原则(CARP),也称为组合复用原则。该原则的语义化描述是:尽量使用合成/聚合达到复用,尽量少用继承。 注意,该原则并不是银弹,因为不能完全使用组合替换继承。只是在告知要慎用“继承”,一旦使用继承,就会带来“子类”和“父类”的紧耦合。实现方式,在一个类中引用另一个类的对象。

总结

面向对象需要把握的核心原则是关注点分离。这一原则并不仅仅适用于面向对象设计与实现。进一步说,实现关注点分离,就是要做到"高内聚"和"松耦合"。在面向对象领域,主要指以下七个原则:(1) 单一职责原则;(2) 开闭原则;(3) 里氏替换原则;(4) 接口隔离原则;(5) 依赖倒置原则;(6) 迪米特法则;(7) 组合/聚合复用原则。
需要说明的是,并不是说,实现了上面的7点就是好的设计,实际开发中,要根据具体情况具体分析,不可思维定式。

参考

《面向对象分析与设计》 Grady Booch, Robert A. Maskimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, Kelli A. Houston 著, 王海鹏, 潘加宇 译
https://en.wikipedia.org/wiki/Single_responsibility_principle Single Responsibility Principle
https://en.wikipedia.org/wiki/Open–closed_principle Open Closed Principle
https://en.wikipedia.org/wiki/Interface_segregation_principle Interface Segregation Principle
https://en.wikipedia.org/wiki/Dependency_inversion_principle Dependency Inversion Principle
https://en.wikipedia.org/wiki/Law_of_Demeter Law of Demeter
https://en.wikipedia.org/wiki/Composition_over_inheritance Composition Over Inheritance

http://www.qdjiajiao.com/news/13086.html

相关文章:

  • 网站开发广告语大全seo经典案例
  • 什么软件可以做网站百度禁止seo推广
  • 黄冈论坛黄冈论坛seo研究协会网app
  • 在线做海报网站网络销售培训
  • 5g空间大吗企业网站bt磁力
  • 南京网站制作招聘友情链接买卖
  • 免费云电脑永久使用企业网站排名优化价格
  • 西安十大网站制作公司最新国内新闻50条简短
  • 网站推广的常用方法优化网站制作方法大全
  • 帮别人做设计图的网站朋友圈推广一天30元
  • 十大进口跨境电商平台移投界seo
  • 北京私人做网站成品ppt网站国外
  • 北京优化网站推广广告接单平台有哪些
  • 小型的游戏网站怎么做sem竞价推广托管代运营公司
  • 模板网站建设开发品牌推广方案案例
  • 惠济区城乡建设局网站南宁市优化网站公司
  • 做下载类网站前景网络营销推广方案整合
  • 广州网站建设服务哪家好什么是软文营销?
  • 免费版b站微信加精准客源软件
  • 废旧电脑做网站服务器在线crm网站建站
  • 用excel 做网站百度关键词优化企业
  • 天津seo培训哪家好网站优化推广外包
  • 企业vi设计全套公司360排名优化工具
  • 福建设计院网站crm系统
  • 专业团队优质网站建设方案自己建网站的详细步骤
  • 企业网站手机版模板新站点seo联系方式
  • 专做sm的网站个人网页模板
  • 免费做网站的网站女教师遭网课入侵直播录屏曝光视频
  • 珠海网站建设的公司哪家好企业网站模板
  • json网站开发上海有名网站建站开发公司