-软件设计6大原则「你不知道的软件设计六原则」

软件设计6大原则「你不知道的软件设计六原则」

软件设计六大原则分别是:

开闭原则依赖倒置原则单一职责原则接口隔离原则迪米特法则(最少知道原则)里氏替换原则3.1 开闭原则(Open Close Principle)

定义:对扩展开放,对修改封闭。

解析:意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。软件需求总是变化的,世界上没有一个软件是不变的,因此对软件设计人员来说,必须在不需要对原有系统进行修改的情况下,实现灵活的系统扩展。

实现:用抽象构建框架,用实现扩展细节

优点:提高软件系统的可复用性和可维护性。

3.2 依赖倒置原则(Dependence Inversion Principle)

定义:高层模块不应该依赖底层模块,二者都应该依赖其抽象

解析:抽象不应该依赖细节;细节应该依赖抽象

实现:针对接口编程,不要针对实现编程

优点:可以减少类间的耦合性、提高系统稳定性,提高代码可读性和可维护性,可降低修改程序所造成的风险

3.3 单一职责原则(Single Responsibility Principle)

定义:不要存在于一个导致类变更的原因

解析:一个类/接口/方法只负责一项职责

优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险

3.4 接口隔离原则(Interface Segregation Principle)

定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口

解析:一个类对一个类的依赖应该建立在最小的接口上

建立单一接口,不要建立庞大臃肿的接口

尽量细化接口,接口中的方法尽量少

注意适度原则,一定要适度

优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性

3.5 迪米特法则(Law Of Demeter)

定义:一个对象应该对其他对象保持最少的了解,又叫最少知道原则

解析:尽量降低类与类之间的耦合

优点:降低类之间的耦合

3.6里氏替换原则

定义:所有引用基类的地方必须能透明化地使用其子类的对象,即子类可以扩展父类的功能,但是不能改变父类原有的功能。也就是说,在子类继承父类的时候,除了添加新的方法完成新增功能之外,尽量不要重写父类的方法。

解析:子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法

子类中可以增加自己特有的方法

当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更加宽松

优点: 增强程序的健壮性,即使切换了子类,不会对使用代码造成影响。

对于手机而言,屏幕空间资源显得非常珍贵,为了提升屏幕空间的利用率,界面布局应以内容为核心,而提供符合用户期望的内容是移动应用获得成功的关键。

1、内容优先 ,合理的布局

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注