课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
网页设计、ui设计等众多设计理论知识告诉我们,设计师的任何一个产品和设计项目都是遵循基本的设计原则规范的。今天,我们就一起来了解一下都有哪些设计规范以及这些设计规范都有哪些作用。
一、到底是哪五大原则
设计模式(面向对象)五大原则可以简称为SOLID,SOLID是面向对象设计和编程(OOD&OOP)中几个重要编码原则(ProgrammingPriciple)的字母缩写,它目的就是为了写出可复用、可扩展、高内聚、低耦合的代码。
当然原则只是战略层面的指导,没有代码能完全遵守着五大原则,要根据实际(zou)情况(xin)合理取舍。
1、单一职责
一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。不过在现实开发中,这个原则是不可能遵守的,因为每个人对一个类的哪些功能算是同一类型的职责判断都不相同。
2、开放封闭原则
软件实体应该是可扩展,而不可修改的。也就是说,你写完一个类,要想添加功能,不能修改原有类,而是想办法扩展该类。即对扩展开放,对修改关闭。
3、里氏替换原则
当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。也就是说接口或父类出现的地方,实现接口的类或子类可以代入,这主要依赖于多态和继承。
4、接口分离原则
(1)不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。
(2)不要提供一个大的接口包括所有功能,应该根据功能把这些接口分割,减少依赖。
5、依赖倒置原则
(1)高层模块不应该依赖于低层模块,二者都应该依赖于抽象
(2)抽象不应该依赖于细节,细节应该依赖于抽象
遵循单一职责的优点:
1)降低类的复杂度,一个类只负责一项职责。
2)提高类的可读性,可维护性
3)降低变更引起的风险。
开放封闭原则这个没什么好说的,再来说说里氏替换原则,它其实有两种定义,
一种定义:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换为o2,程序P的行为没有发生变化,那么类型S是类型T的子类型。
二种定义:所有引用基类的地方必须透明的使用其子类的对象。二种定义明确的说,只要父类能出现的地方子类也可以出现,而且替换为子类不会产生任何错误或异常,但是反过来就不行,有子类出现的地方,父类未必就能适应。由定义可知,在使用继承时,会遵循里氏替换原则,集成的好处自不必多说,代码共享,重用性高,但是在子类中尽量不要重写和重载父类的方法。为什么呢?
继承是侵入性的,只要继承,就必须拥有父类的所有方法和属性
降低了代码的灵活性,子类必须拥有父类的属性和方法,让子类有了一些约束
增加了耦合性,当父类的常量,变量和方法被修改了,需要考虑子类的修改,这种修改可能带来非常糟糕的结果,要重构大量的代码。
作者:骑白马的菜鸟
来源:博客园
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。