程序设计的SOLID原则

http://hi.baidu.com/hyper99/item/ec1ea4fbcf451bef1a111f57

 

程序设计的SOLID原则

    要想设计一个良好的程序,建议采用SOLID原则,若考虑了SOLID,可以使程序在模块内具有高内聚、而模块间具有低耦合的特点。其中SOLID原则包括5方面的内容:

  • S---单责任原则(SRP);一个模块只做一件事,责任单一,以便修改和错误定位。

  • O---开闭原则(OCP); 一个模块要对扩展开放,对修改关闭。

        (1)通过增加代码来扩展功能,而不是修改已经存在的代码。
        (2)若客户模块和服务模块遵循同一个接口来设计,则客户模块可以不关心服务模块的类型,服务模块可以方便扩展服务(代码)。
        (3)OCP支持替换的服务,而不用修改客户模块。

  • L---李氏代换原则(LSP);客户模块不应关心服务模块的是如何工作的;同样的接口模块之间,可以在不知道服务模块代码的情况下,进行替换。---接口或父类出现的地方,实现接口的类或子类可以代入。

  • I---接口隔离原则(ISP);客户模块不应该依赖大的接口,应该裁减为小的接口给客户模块使用,以减少依赖性。如Java中一个类实现多个接口,不同的接口给不用的客户模块使用,而不是提供给客户模块一个大的接口。

  • D---依赖反转原则(DIP);

        (1).高层模块不要依赖低层模块;
        (2).高层和低层模块都要依赖于抽象;
        (3).抽象不要依赖于具体实现;
        (4).具体实现要依赖于抽象;
        (5).抽象和接口使模块之间的依赖分离。
        ***用函数指针,象接口一样,也可以去掉两个函数之间的直接依赖。



参考:

【1】【Test-Driven Development for Embedded C】James W. Grenning2011

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值