设计模式
文章平均质量分 64
SY_曾开心
只有不断的学习,才能取得进步
展开
-
10-多用继承少用组合
为什么不推荐使用继承?继承是面向对象的四大特性之一,用来表示类之间的 is-a 关系,可以解决代码复用的问题。虽然继承有诸多作用,但继承层次过深、过复杂,也会影响到代码的可维护性。类的继承层次会越来越深、继承关系会越来越复杂。而这种层次很深、很复杂的继承关系,一方面,会导致代码的可读性变差。因为我们要搞清楚某个类具有哪些方法、属性,必须阅读父类的代码、父类的父类的代码……一直追溯到最顶层父类的代码。另一方面,这也破坏了类的封装特性,将父类的实现细节暴露给了子类。子类的实现...原创 2021-10-27 22:19:37 · 168 阅读 · 0 评论 -
09-基于接口实现编程
基于接口而非实现编程。这个原则非常重要,是一种非常有效的提高代码质量的手段。“基于接口而非实现编程”这条原则中的“接口”,可以理解为编程语言中的接口或者抽象类。应用这条原则,可以将接口和实现相分离,封装不稳定的实现,暴露稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本上不需要做改动,以此来降低耦合性,提高扩展性。实际上,“基于接口而非实现编程”这条原则的另一个表述方式,是“基于抽象而非实现编程”。后者的表述方式...翻译 2021-10-24 23:35:10 · 226 阅读 · 0 评论 -
08-接口和抽象类的区别
在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。比如,可以使用接口来实现面向对象的抽象特性、多态特性和基于接口而非实现的设计原则,使用抽象类来实现面向对象的继承特性和模板设计模式等等。接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程问题?什么是抽象类和接口?区别在哪里? 抽象类:1....原创 2021-10-24 23:21:01 · 94 阅读 · 0 评论 -
07-面向对象与面向过程的区别
哪些代码设计看似是面向对象,实际是面向过程的?1. 滥用 getter、setter 方法它违反了面向对象编程的封装特性,相当于将面向对象编程风格退化成了面向过程编程风格。在设计实现类的时候,除非真的需要,否则,尽量不要给属性定义 setter 方法。除此之外,尽管 getter 方法相对 setter 方法要安全些,但是如果返回的是集合容器(比如例子中的 List 容器),也要防范集合内部数据被修改的危险。2. 滥用全局变量和全局...原创 2021-10-24 19:47:08 · 214 阅读 · 0 评论 -
06-面向对象和面向过程的区别
什么是面向过程编程与面向过程编程语言?面向过程编程也是一种编程范式或编程风格。它以过程(可以理解为方法、函数、操作)作为组织代码的基本单元,以数据(可以理解为成员变量、属性)与方法相分离为最主要的特点。面向过程风格是一种流程化的编程风格,通过拼接一组顺序执行的方法来操作数据完成一项功能。面向过程编程语言首先是一种编程语言。它最大的特点是不支持类和对象两个语法概念,不支持丰富的面向对象编程特性(比如继承、多态、封装),仅支持面向过程编程。...原创 2021-10-24 19:27:56 · 474 阅读 · 0 评论 -
05-面向对象的四大特性能解决哪些编程问题
封装 封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过原创 2021-10-24 18:59:07 · 271 阅读 · 0 评论 -
04-面向对象
什么是面向对象编程和面向对象编程语言? 面向对象编程的英文缩写是OOP,全称是ObjectOrientedProgramming。对应的,面向对象便曾语言的英文缩写是OOPL,全称是ObjectOrientedProgrammingLanguage。 面向对象编程有两个非常重要、非常基础的概念,那就是类(class)和对象(object)。这两个概念最早出现在1960年,在Simula这种编程语言中第一次使用。而面向对象编程这个概念第一次被使用是...原创 2021-10-23 19:31:13 · 130 阅读 · 0 评论 -
面向对象七大设计原则
每天都在和面向对象打交道,但是我们在应用面向对象的时候感觉自己对面向对象的技术应用是否合理?理解的是否到位?应用是否到位?应用时机是否恰到好处?是否符合软件的发展趋势? 面向对象的应用也有面向对象的原则,一个程序员的编程素质从一个小例子几十行代码就可以展现出来。面向对象编程是面向对象的基础的基础,遵循面向对象的原则编程,编程水平才会大幅度的提高!面向对象原则综述一、开...翻译 2019-05-04 12:49:11 · 1919 阅读 · 0 评论 -
责任链设计模式
什么是责任链设计模式 责任链模式是指一个需要多个过程或者角色参与处理,并给予某个约定组成一个链,每个过程或者角色拥有各自职责进行处理。责任链模式有效组织一个过程处理,同时子过程之间职责明确。使用场景(1)在公司OA系统请假审批流程如果请假小于3天只需要项目经历批复如果请假大于3天小于7天需要人事经理批复如果请假大于7天小于15天需要总经理批复(2)公司报销流...翻译 2019-05-01 11:46:05 · 123 阅读 · 0 评论