如何使用设计模式的七大原则重构代码(上)

2025-10-09 09:29:12

1、严格来讲,单一职责原则是对类而言的,要求一个类应该只负责一项职责,当某个职责的需求发生更改时,不会影响其他职责的实现.

但当逻辑足够简单时,可以在类级别放弃单一职责原则,而在方法级别上遵守单一职责原则.

2、违反单一职责原则的代码:

Vehicle类的run()方法既负责陆上交通工具的运行,又负责空中交通工具的运行,违反单一职责原则

如何使用设计模式的七大原则重构代码(上)

3、在类级别遵守单一职责原则

我们将不同种类的交通工具抽象成不同的类,这样在类级别上遵守了单一职责原则

如何使用设计模式的七大原则重构代码(上)

4、在方法级别遵守单一职责原则

因为这个例子中的逻辑足够简单,为避免在类级别修造成的破坏,我们可以尝试将不同的职责赋给不同的方法来实现,在方法级别遵守了单一职责原则.

如何使用设计模式的七大原则重构代码(上)

1、为避免一个类实现其用不到的方法,类之间的依赖应该建立在最小接口上.若所依赖的不是最小接口,应将其加以拆分.

2、下面例子不满足接口隔离原则

如何使用设计模式的七大原则重构代码(上)

3、我们对上边例子加以改进,将原公共接口PublicInterface拆分为三个最小接口Interface1,Interface2,Interface3,类C,类D分别通过最小接口依赖类A,类B.

如何使用设计模式的七大原则重构代码(上)

1、依赖倒转原则的核心思想即为面向接口编程,所有的底层模块尽量都要有对应的抽象类或接口,变量类型也尽量声明为抽象类或接口,并引用其实现类对象.

2、下面例子不满足依赖倒转原则.类Person依赖的是具体的Email类和WeiXin类,这样receive()方法就依赖于细节(具体的信息种类)了.

如何使用设计模式的七大原则重构代码(上)

3、对上述程序进行修改,为Email类和WeiXin类增加抽象接口IMessage,并让Person类依赖IMessage接口.

如何使用设计模式的七大原则重构代码(上)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢