写点什么

软件设计原则

用户头像
关注
发布于: 2021 年 01 月 10 日

好的软件设计的特点:

  • 易扩展 - 易于增加新的功能

  • 更强壮 - 不容易被粗心的程序员破坏

  • 可移植 - 能够在多样的环境下运行

  • 更简单 - 容易理解、容易维护


软件设计的臭味:

  • 僵硬 - 不易改变。

  • 脆弱 - 只想改 A,结果 B 被意外破坏。

  • 不可移植 - 不能适应环境的变化。

  • 导致误用的陷阱 - 做错误的事比做正确的事更容易,引诱程序员破坏原有的设计。

  • 晦涩 - 代码难以理解。

  • 过度设计、copy-paste 代码。


面向对象原则:

开闭原则 OCP - Open/Closed Principle

  • 对于扩展是开放的(Open for extension)

  • 对于更改是封闭的(Closed for modification)

  • 简言之:不需要修改软件实体(类、模块、函数等),就应该能实现功能的扩展。


依赖倒置原则(DIP)

好莱坞原则(Dont call me, i will call you)

  • 高层模块不能依赖低层模块,而是依赖于抽象;

  • 抽象不能依赖实现,而是实现依赖抽象。


Liskov 替换原则(LSP)

里式替换原则是判断继承是否合理的一个原则。如果子类能够完全代替父类,而不产生任何问题,则说明这个继承是合理的。


单一职责原则(SRP) SRP - Single Responsibility Principle

又被称为“内聚性原则(Cohesion)

SRP 指出应该如何设计一个类 —— 只能有一种原因才能促使类发生改变。


接口分离原则(ISP)Interface Segregation Principle

ISP 指出应该如何设计一个接口 —— 从客户的需要出发,强调不要让客户看到他们不需要

的方法。


用户头像

关注

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
软件设计原则