首页 > 其他分享 >设计模式(十五)-面向对象概念

设计模式(十五)-面向对象概念

时间:2023-02-25 11:06:43浏览次数:42  
标签:封装 对象 接口 面向对象 十五 一个 模式 设计模式

一、设计原则

1、单一职责:设计目的单一的类。

2、开放-封闭原则:对扩展开放,对修改关闭。

3、里氏替换原则:子类可代替父类。

4、依赖倒置:要依赖与接口,而不是具体实现,针对接口编程。

5、接口隔离:多个接口之间不要相互影响,多个专门接口比单个接口要好。

6、迪米特原则:一个对象对其他对象尽可能少的了解。

静态图:类图、对象图、包图、组合结构图、构件图、部署图、制品图。

动态图:用例图、顺序图、通信图(协作图)、定时图、状态图、活动图。

二、设计模式分类

设计模式基本概念

架构模式:整体全局来设计,高层决策,例如C/S结构就属于架构模式。

设计模式:主要关注软件系统的设计,与具体语言实现无关。

惯用法:最底层模式,关注软件设计与实现,与语言相关。

主要分为 创建型模式、结构型模式、行为型模式

  1. 创建型模式

抽象工厂:提供一个接口,创建一系列相关或相互依赖的对象。

原型:用原型实例指定创建对象的类型,并通过拷贝创建新对象。(为什么不new而是拷贝,效率更高,拷贝是直接在内存,new是在创建对象)

单例:全局保证一个实例。

工厂模式、构建器模式。

  1. 结构型模式

适配器模式:讲一个类转成其他可以使用的接口,方便协同工作。(转换接口

桥接:将类的抽象和实现部分分离出来,可以独立变化。(继承树拆分 就属于桥接模式

装饰模式:动态的给一个对象额外增加职责。(附加职责

外观、组合、享元模式、代理模式。

  1. 行为模式

职责链模式:减少请求发送者和接受者之间的耦合度,一个请求者有多个接收者,把接收者链接成一个链。(传递职责 财务审批的时候,每次员工不需要多次去申请流程,只需要申请一次,然后总监,主管,hr形成一个链依次审批

命令模式:将一个请求封装成一个对象,可以撤销请求,可以不同的请求对客户进行参数化,可以记录命令日志。(请求封装成对象,可撤销

解释器模式:解释相应的语言,进行相关处理操作。

迭代器:提供一个方法按顺序访问一个聚合对象中的各个元素。

中介者模式:用一个对象来封装两者一系列的交互,降低耦合程度。(比如引入中间件)

备忘录:开辟一个空间存对象相关信息,方便恢复。

观察者:一对多的对应关系,一个改变,其他的跟着改变。

状态模式:允许一个对象在其内部状态改变时改变他的行为。

策略模式:定义一系列算法,把他们一个个封装起来,并且使他们之间可以相互替换。(多方案切换

访问者模式:在不改变类的前提下,对这些元素进行操作。

标签:封装,对象,接口,面向对象,十五,一个,模式,设计模式
From: https://blog.51cto.com/u_15856702/6084941

相关文章

  • 学习中设计模式的总结
    首先要了解什么是设计模式呢?设计模式:可以简单的理解为两个字“经验”,就是码农们在各种需求中间,总结出来的一种最优的解法称之为设计模式;1,单例模式......
  • 设计模式-适配器与门面模式
    1.适配器模式#include<iostream>usingnamespacestd;classThreePhasePlug{public: voiddoThreePhasePlug(){ cout<<"threephase"<<endl; }};c......
  • day02-面向对象高级2-接口&多态
    1,final关键字1,认识finalfinal关键字最终的意思,可以用来修饰(类,方法,变量)特点:修饰类类不能被继承修饰方法,方法不能被子类重写修饰变量,该变量只能被赋值一次final修......
  • 面向对象进阶第二天
    面向对象进阶第二天权限修饰符作用:约束成员变量,构造器,方法等的访问范围 自己定义成员(方法,成员变量,构造器等)一般需要满足如下要求:成员变量一般私有。方法一般公......
  • Java面向对象进阶第一天
    面向对象高级第一天static关键字是静态的意思,可以修饰成员变量,也可以修饰成员方法成员变量的分类静态成员变量有static修饰,属于类,与类一起加载,内存中只有一份,可以......
  • 设计模式之(13)--模板方法模式
    今天我们来学习下模板方法设计模式。模板方法(TemplateMethodPattern):抽象的父类中定义一个操作中算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一......
  • 前端责任链设计模式案例分享
    责任链模式是一种行为型设计模式,它可以将请求沿着一条处理链进行传递,直到有一个处理器能够处理该请求为止。在前端开发中,责任链模式通常用于处理用户输入事件,例如点击、滚......
  • 《设计模式之禅》 第一章随笔(单一职责原则)
    只要做过項目,肯定要接触到用户、机构、角色管理这些校块,基本上使用的都是RBAC模型(Role-BasedAccessControl,基于角色的访问控制,通过分配和取消角色来完成用户权限的授予......
  • 考研算法辅导课笔记:第十五讲--字符串处理,递归和背包
    比较轻松的一节课字符串处理。不需要用到算法,只是考察对于字符串处理的API是否熟悉。递归。经典的问题,把每一个问题划归成若干相同的子问题。背包问题。典型的dp问题,......
  • 猜拳小游戏案例面向对象
    *Computer电脑类*属性:角色名,得分。*方法:出拳的方法1/**2*Computer电脑类3*属性:角色名,得分。4*方法:出拳的方法5*@authorlisi6*@......