面向对象的基本原则

一、可维护性

高内聚、低耦合

高内聚,是针对一个组件(类)内部而言,如果一个组件干了好几件不相关的事情,那么组件内部就比较散,出问题是迟早的事情。中原大战之后,蒋介石表面上统一了各个军阀,实际上,他们内部之间不够内聚,一盘散沙。

低耦合,是针对多个组件之间的关系。老死不相往来,是理想国,也就没有什么矛盾,但这是不可能的。所以,尽量减少类之间的依赖。

Soc

关注分离点,我们经常说mvc模式是关注分离点的。什么意思呢?可以把mvc看成三个大的组件,每个组件都干自己的事情,model专注业务逻辑、view专注页面展示、controller专注控制,把适当的model推给适当的view

二、面向对象设计

面向接口编程

利于扩展

组合优于继承

无论是组合还是继承,都是可以扩展对象的功能。从耦合性上来讲,组合当然优于继承。适配器模式(包装器模式)有两种实现方式

隔离可能改变的部分

把经常变化的部分以抽象的方式隔离起来

SOLID原则

1、单一责任原则 (SRP)

2、开放/封闭原则(OCP)

3、里氏替换原则(LSP)

4、接口分离原则(ISP)

5、依赖反转原则(DIP)

   KISS (keep it simple,stupid)

   DRY (don't repeat yourself)

三、设计模式

需求和重构

按照oo原则来设计,结果并不一定是某种设计模式,但是可能非常接近某种模式,这时候,可以考虑是否使用模式

四、编写优质软件

可测试性

虚拟对象(虚拟化框架)

仿冒对象

可扩展性

基于接口的设计

插件架构(好的框架都是具有插件的架构,如Asp.net,可通过配置文件注册响应模块和处理器)

可读性

1、注释(包括命名)

2、清晰(代码结构)

3、短的更好 

4、一致性

   

  

 

posted @   micDavid  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
点击右上角即可分享
微信分享提示