面向对象的基本原则

一、可维护性

高内聚、低耦合

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

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

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 @ 2019-09-11 15:04  micDavid  阅读(213)  评论(0编辑  收藏  举报