程序设计的SOLID原则

来源:互联网 发布:新手如何快速入门seo 编辑:程序博客网 时间:2024/05/22 03:32


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

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

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

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

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

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

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

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


原创粉丝点击