grasp设计模式应用场景_GRASP设计模式

本文介绍了面向对象设计的基本原则,包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则和接口分隔原则。这些原则对于创建稳定、扩展性强的系统至关重要,指导着类和包的设计,确保代码的可维护性和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象设计的原则指南

概要篇

我们在进行面向对象设计

(

OOD

)

时应该怎样进行,

遵循什么原则呢?我们或许听说过设计

模式,

那是针对特定的问题提出的特定的解决方法。

面向对象的设计从提出到现在经过很多

人的经验和实践,也总结出了很多原则。

在设计开发中,

如果能有意识地向这些原则靠拢,

对我们的系统设计与开发会有很大的帮助,

也是构筑具有稳定性,扩展性的系统的一个保障:

-

是否遵守了那些基本原则

-

如果违反了基本原则,是否存在合适的理由

这些被大师们总结出来的

基本原则

包括了:

1

,类的设计原则

2

,包的设计原则

2.1

包的内部关系方面(聚合性)的原则

2.2

包之间的关系方面(耦合性)的原则

类设计原则

The Single Responsibility Principle (SRP) - OO

设计的单一职责原则

There should never be more than one reason for a class to change.

永远不要让一个类存在多个改变的理由。

The Open-Closed Principle (OCP) -

面向对象软件设计的开闭原则

Software entities (classes, modules, function, etc.) should be open for extension, but closed for m

odification.

软件实体(模块,类,方法等)应该对扩展开放,对修改关闭。

The Liskov Substitution Principle (LSP) - OO

设计的里氏替换原则

Functions that use pointers or references to base classes must be able to use objects of derived cl

asses without knowing it.

所有引用基类的地方必须能透明地使用其子类的对象。

The Dependency Inversion Principle (DIP) - OO

设计的依赖倒置原则

A. High level modules should not depend upon low level modules. Both should depend upon abst

ractions.

B. Abstractions should not depend upon details. Details should depend upon abstractions.

A.

高层模块不应该依赖于低层模块,二者都应该依赖于抽象

B.

抽象不应该依赖于细节,细节应该依赖于抽象

The Interface Segregation Principle (ISP) - OO

设计的接口分隔原则

Clients should not be forced to depend upon interfaces that they do not use.

不能强迫用户去依赖那些他们不使用的接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值