面向对象的应用

面向对象的设计原则

何为设计??

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

《UNIX/LINUX设计哲学》

准则1:小即是美

准则2:让每个程序做好一件事

准则3:快速建立原型

准则4:舍弃高效率而取可移植性

准则5:采用纯文本来储存数据

准则6:充分利用软件的杠杆效应

准则7:使用shell脚本俩提高杠杠效应和可移植性

准则8:避免强制性的用户界面

准则9:让每个程序都成为过滤器

小准则:允许用户指定环境

尽量使用操作系统内核小儿轻量化

使用小字母并精炼简写

沉默是金

各部分纸盒大于整体

寻求90%的解决方案

 

五大设计设计原则

  • S-单一一直责原则
    • 一个程序只做好一件事
    • 如果功能过于复杂就拆分,每个部分保持独立 
  • O-开放封闭原则
    • 对扩展开放,对修改封闭
    • 增加需求时,扩展新代码,而非修改已有代码
    • 这是软件设计的终极目标
  • L-李式置换原则
    • 子类能覆盖父类
    • 父类能出现的地方子类就能出现
    • JS中使用较少(弱类型&继承使用较少)
  • I-接口独立原则
    • 保持接口的单一独立,避免出现“胖接口”
    • js中没有接口(TS例外),使用较少
    • 类似于单一职责原则,这里更关注的是接口
  • D-依赖导致原则
    • 面向接口编程,依赖于抽象而不依赖于具体
    • 使用方只关注接口而不是关注具体类实现
    • js中使用较少(没有接口&弱类型语言)

 

从设计到模式

介绍23种设计模型

创建型

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

结构性

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

行为性

  • 策略模式
  • 模板方法模式
  • 观察者模式(重点)
  • 迭代器模式(重点)
  • 指责连模式
  • 命令模式
  • 备忘录模式
  • 状态模式(重点)
  • 访问者模式
  • 中介者模式
  • 解释器模式
  •  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值