美文网首页
面向对象与五大设计原则

面向对象与五大设计原则

作者: 蚂蚁想赛跑 | 来源:发表于2021-11-16 18:15 被阅读0次

    什么是面向对象

    把存储的数据结构化,结构化后就变得抽象,简单
    面向对象的方法主要是把事物给对象化,包括其属性和行为。
    面向对象编程更贴近实际生活的思想。总体来说面向对象的底层还是面向过程,
    面向过程抽象成类,然后封装,方便使用就是面向对象(万物皆对象)

    面向对象的三大属性特征

    • 继承 子类继承父类 (类的公共方法都抽离出来,让一些方法继承他,减少代码的long余,增加代码的复用)
    • 封装 (通过一些特性把属性变成私有的,但jsES6中还没有语法支持,暂时了解)
    • 多肽 (一个接口能实现多个功能,应用比较少)

    UML类图

    • 图是一列多行 类图、属性、方法
      第一行表示 类的名称;第二行表示类的属性;第三行表示类的方法

    • UML的关系泛化与关联(继承与引用)
      学习设计设计模式,需要继续画UML类图

    设计原则

    什么是设计

    • 按照一种思路或标准来实现功能
    • 功能相同,可以有不同的设计方案来实现
    • 伴随着需求增加,设计的作用才能体现

    《UNIX/LINUX设计哲学》

    • 小即是美
    • 让程序做好一件事 程序是一个集合
    • 快速建立原型 先满足用户需求 后面用户用反馈或迭代新需求升级
    • 舍弃高效率而可移植性 高效率不通用与低效率可通用选择后者
    • 采用纯文本存储数据
    • 充分利用软件杠杆效应
    • 使用shell脚本来提高杠杆效应与可移植性
    • 避免强制性的用户界面
    • 让每个程序度成为过滤器
    • 允许用户定制 环境
    • 尽量使操作系统小而轻量
    • 使用小写并短
    • 沉默是金 比如有数字输出 不是数字就输出空或者0 其他的会改变政体类型
    • 各部分之和大于整体
    • 寻求90%的解决方法

    五大设计原则 SOLID

    S 单一职责
    一个程序只做好一件事,如果功能过于复杂,每个部分保持独立,各个部分之间相互关联的关系相互利用关系,小而精

    O 开放封闭原则
    对扩展开放,对修改封闭
    增加需求时,扩展代码,而非修改已有代码
    这是软件设计的中级目标

    L 李氏置换
    子类能覆盖父类
    父类能出现的地方子类就能出现
    js中使用较少(弱类型&继承使用较少)

    I 接口独立原则
    保持接口的单一独立,避免出现胖接口
    D 依赖导致原则
    面向接口变成,依赖抽象不依赖具体
    使用方法只关注而不关注具体类的实现
    js中使用较少

    23种设计模式

    创建型

    • 工厂模式 (工厂方法模式 抽象工厂模式,建造者模式)
    • 单例模式
    • 原型模式

    组合型

    • 适配器模式
    • 装饰器模式
    • 代理模式
    • 外观模式
    • 桥接模式
    • 组合模式
    • 享元模式

    行为型

    • 策略模式
    • 模板方法模式
    • 观察者模式
    • 迭代器模式
    • 职责连模式
    • 命令模式
    • 备忘录模式
    • 状态模式
    • 访问者模式
    • 中介者模式
    • 解释器模式

    相关文章

      网友评论

          本文标题:面向对象与五大设计原则

          本文链接:https://www.haomeiwen.com/subject/winhtrtx.html