精华内容
参与话题
问答
  • SOLID原则

    千次阅读 2018-12-05 16:28:36
    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写。 SRP: The Single Responsibility Principle 单一责任原则 OCP: The Open Closed Principle 开放封闭...

    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写。
    SRP: The Single Responsibility Principle 单一责任原则
    OCP: The Open Closed Principle 开放封闭原则
    LSP: The Liskov Substitution Principle 里氏替换原则
    LD: The law of Demeter 迪米特法则
    ISP: The Interface Segregation Principle 接口分离原则
    DIP: The Dependency Inversion Principle 依赖倒置原则

    一,单一职责原则
    改变类的原因只有一个。即每个类只做一种类型责任,当这个类有多个责任的时候,要将类分解。

    二,开闭原则
    对扩展开放,对修改关闭。
    开闭原则是面向对象设计中最基础的设计原则,也是定义最模糊的原则。开闭原则可以总结为:用抽象构件框架,用实现扩展细节。
    其他的5大原则和23中设计模式的目的就是遵循开闭原则。单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不能破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。

    三,里氏替换原则
    子类尽量不要覆盖父类的方法。
    子类可以扩展父类的功能,但不能改变父类原有的功能。
    ①子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    ②子类中可以增加特有的方法。
    ③当子类的方法重载父类的方法时,方法的后置条件(即方法的返回值)要比父类更严格。
    ④当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

    四,迪米特法则
    也叫最少知道原则,一个对象应该对其他对象保持最小的了解。就是一个类对自己依赖的类知道的越少越好。
    关于“迪米特法则”的其它表述还有:只与你的朋友们通信,不要与“陌生人”说话。
    设计模式中的Facade模式和Mediator模式就是使用了这一原则,降低模块间的耦合。

    五,接口分离原则
    使用多个专门的接口比使用单一的总接口要好。

    六,依赖倒置原则
    高层模块不应该依赖于底层模块,而这都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

    展开全文
  • Solid原则

    千次阅读 2018-01-21 20:54:56
    SOLID solid是一个框架,用于帮助人们设计出更好的面向对象代码。它由Robert Martin作为五大原则引入。 solid代表的含义: 1、单一职责原则(Single Responsibility Principle,SPR) 在面向对象编程和函数式编程...

    SOLID

    solid是一个框架,用于帮助人们设计出更好的面向对象代码。它由Robert Martin作为五大原则引入。

    solid代表的含义:

    1、单一职责原则(Single Responsibility  Principle,SPR)

    在面向对象编程和函数式编程中,都可以使用这种思想,即一个类或者一个函数只干一件事,如果这个类或者函数要干多件事,请将它拆分。一个类拥有的功能越多,维护起来就越困难。

    2、开/闭原则(Open / close principle,OCP)

    即封装原则。对象应该对扩展开放,对修改关闭。

    3、LisKov替换原则(LisKov replacement principle,LSP)

    LSP是指任何子类型都应该能轻松的被同一对象树下的其他对象替代,而没有任何影响。如一个模型车对象被一个真实车对象替代

    4、接口隔离原则(Interface isolation principle,ISP)

    ISP是指拥有多个客户定制接口好于为所有客户定制一个通用接口。该原则用于简化实体键的数据交换,一个好的例子是将垃圾、堆肥即回收利用分开,而不是使用一个包含三个特定垃圾的大型垃圾箱。

    5、依赖倒置原则(DIP)

    DIP是一个指导我们依赖抽象而非具体的原则。也就是说我们应该构建分层或者对象的继承树。

    展开全文
  • SOLID 原则

    2016-11-12 21:39:49
    SOLID 原则

    SOLID 原则

    SOLID: Part 1 - 单一职责
    SOLID: Part 2 - 开闭原则
    SOLID: Part 3 - 里氏代换原则 & 接口隔离原则
    SOLID: Part 4 - 依赖倒转原则

    展开全文
  • Solid设计原则

    万次阅读 2020-10-25 23:56:15
    开闭原则(总纲,其他原则是其实现) 软件实体应当对扩展开放,对修改关闭 即当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求 1 里氏替换原则 子类...

    1 S单一职责原则Single responsibility principle,SPR

    定义:一个类或者模块只负责一个职责(功能)

    也就是说单个类不应该大而全,设计的粒度要小,类的职责单一,降低阅读的复杂性

    宽泛可量化的标准:单类的代码行数不超过200行,方法和属性个数不要超过10个

    注意:粒度不是越小越好,而是适中,满足业务的当前发展即可,随着业务不断发展而不断重构拆分

    2 O开闭原则Open Closed Principle,OCP

    定义:软件实体应当对扩展开放,对修改关闭

    设计模式里大部分模式都是为了解决扩展性的问题存在的

    添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法

    等)

    注意:对扩展开放是为了应对变化(新的需求),对修改关闭是为了保证已有代码的稳定性。例如增加属性,可以是修改类已有代码,而不是新增类,但只要没有破坏原有代码的正常运行,就是一个合格的改动。不是一定要扩展代替修改,而是为了避免影响已有的代码逻辑

    3 L里氏替换原则Liskov Substitution Principle,LSP

    定义:子类能够替换程序中的父类对象出现的任何地方

    要求就是子类可以扩展父类的功能,但不能改变父类原有的功能(不能重写),在代码里子类能随时替换父类。

    从接口或父类的角度出发,顶层的接口/父类要设计的足够通用,并且可扩展,不要为子类或实现类指定实现逻辑,尽量只定义接口规范以及必要的通用性逻辑,这样实现类就可以根据具体场景选择具体实现逻辑而不必担心破坏顶层的接口规范。

    从子类或实现类角度出发,底层实现不应该轻易破坏顶层规定的接口规范或通用逻辑

    4 I接口隔离原则Interface Segregation Principle,ISP

    定义:客户端不应该依赖它不需要的接口类

    客户端:可以理解为接口的调用者或者使用者  

    实现接口的类中,有多余的方法时,需要将接口进行拆分

    5 D依赖倒置原则Dependency Inversion Principle,DIP

    定义:面向接口编程,程序要依赖于抽象接口,不要依赖于具体实现

    即对于变量或者传参数,尽量使用抽象类,或者接口,降低耦合

    总的来说:

    1 使用组合(拥有)代替继承

    2 面向接口编程,变量和传递参数使用抽象

    3 类或接口的设计应该单一

    展开全文
  • java SOLID原则

    千次阅读 2016-09-13 10:25:45
    众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计,S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 SRP The Single ...
  • OO solid原则

    千次阅读 2010-08-02 23:22:00
    OO的五大原则在学习和使用OO设计的时候,我们应该明白:OO的出现使得软件工程师们能够用更接近真实世界的方法描述软件系统。然而,软件毕竟是建立在抽象层次上的东西,再怎么接近真实,也不能替代真实或被真实...
  • SOLID 原则 总结

    2011-11-26 09:41:52
    1)单一责任原则 2)开放封闭原则 3)里氏替换原则 4)依赖倒置原则 5)接口分离原则   23种设计模式都符合这些原则的!
  • 设计模式之SOLID原则再回首

    千次阅读 2014-11-29 20:42:23
    这是一篇关于回顾设计模式SOLID五大原则的文章,我非常喜欢文章中的例子,每个例子都是我精选了描述模式的,通过Modom讲述了单一职责原则、通过加减法计算器讲述了开闭原则、通过企鹅动物讲述了里氏替换原则、通过...
  • 软件设计原则——SOLID原则

    千次阅读 2018-10-15 16:00:21
    文章目录SOLID原则单一责任原则开放/封闭原则里民代换原则常见代码问题错误示例代码辅助工具接口分离原则依赖反转原则 SOLID原则 单一责任原则(SRP) 开放/封闭原则(OCP) 里氏代换原则(LSP) 接口分离原则(ISP) ...
  • SOLID是几个重要编码原则的缩写 SRP: The Single Responsibility Principle 单一责任原则 OCP: The Open Closed Principle 开放封闭原则 LSP: The Liskov Substitution Principle 里氏替换原则 LD: The law of ...
  • 设计模式之SOLID原则

    千次阅读 2019-12-18 18:27:55
    什么是SOLID原则 SOLID = SRP(职责单一原则) OCP(对扩展开发,修改关闭原则) LSP(里氏替换原则) ISP(接口隔离原则) DIP(依赖反转原则) SRP: Single Responsibility Principle,一个类或者模块只负责完成一个...
  • 程序设计的SOLID原则

    2013-10-19 13:39:27
    要想设计一个良好的程序,建议采用SOLID原则,若考虑了SOLID,可以使程序在模块内具有高内聚、而模块间具有低耦合的特点。其中SOLID原则包括5方面的内容: S---单责任原则(SRP);一个模块只做一件事,责任...
  • 我所理解的SOLID原则

    万次阅读 2013-05-01 17:48:39
    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则
  • 面向对象设计的SOLID原则

    千次阅读 2016-06-22 10:43:57
    S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。 SRP The Single Responsibility Principle  单一责任原则 OCP The Open Closed Principle  开放封闭...
  • 使用C#实例解释SOLID原则

    千次阅读 2017-05-10 10:47:35
    文章原址: http://www.codeproject.com/Articles/703634/SOLID-architecture-principles-using-simple-Csharp 翻译一下,希望对大家有所帮助。...什么是SOLID?Understanding “S” - SRP
  • 软件设计Solid原则学习总结

    千次阅读 2016-07-21 18:48:23
    软件质量度量指标有正确性、可维护性、...规范是指项目成员都需要遵循一定的规律和原则来开发软件,使得项目成员之间能够无障碍地阅读、理解和处理对象。保证统一正确的风格,团队成员可以更好的沟通交流。所以每一位开
  • SOLID定义: S (Single Responsibility Principle) 单一职责原则 O(Open Closed Priciple) 开放封闭原则,对扩展新功能开放,对修改老代码封闭 L (Liskov Substitution Principle) 发起调用的代码,在不需要知道...

空空如也

1 2 3 4 5 ... 20
收藏数 41,009
精华内容 16,403
关键字:

solid原则