面向对象设计模式:复用与灵活性的基石

需积分: 50 53 下载量 57 浏览量 更新于2024-08-07 收藏 9.93MB PDF 举报
"设计模式: 可复用面向对象软件的基础" 在面向对象软件设计中,设计模式扮演着重要的角色,它们是经过验证的、可复用的解决方案,用于解决常见的设计问题。设计模式提供了一种标准化的方法来处理特定的设计挑战,使得代码更易于理解和维护。《设计模式: 可复用面向对象软件的基础》一书正是围绕这个主题展开,旨在记录并推广面向对象设计中的模式。 标题提到的“支持多种视感标准-jmc-a4点胶控制系统”是一个具体的应用示例,它展示了如何在跨平台的环境中处理用户界面的统一性问题。视感标准,如Motif和Presentation Manager,定义了应用在不同窗口系统下的外观和交互方式。设计的目标是使软件能够适应多种视感标准,同时保持灵活性,允许在运行时改变界面风格。 在2.5章节中,作者提出了对象创建的抽象概念。这一策略利用了面向对象编程的继承机制来实现。界面由图元组成,这些图元可以是可见的,如按钮,也可以是不可见的,如行和列。窗口组件(Widgets)是这些图元的集合,每个组件都有一套视感规则。为了支持不同的视感标准,设计采用了以下两种策略: 1. 抽象Glyph子类:为每种窗口组件图元定义一个抽象子类,如ScrollBar和Button,这些子类扩展了基本的Glyph接口,添加了特定的功能和行为。 2. 具体的子类集合:每个抽象子类对应一组实现特定视感标准的具体子类,例如,ScrollBar可能有MotifScrollBar和PMScrollBar,分别对应Motif和Presentation Manager的风格。 当需要在界面上放置一个按钮时,程序会实例化具有正确风格的Glyph子类,如MotifButton、PMButton或MacButton。这种设计确保了在不同平台上,按钮的外观和行为都能符合相应的视感标准,同时保持代码的模块化和可扩展性。 设计模式如“工厂方法”和“装饰者模式”在这类问题中尤为有用。工厂方法允许动态地决定创建哪个类的实例,而装饰者模式则可以在运行时添加或移除对象的行为,无需修改原有类的结构。这些模式使得系统能够根据需要轻松地适应新的视感标准,提高了代码的复用性和灵活性。 设计模式是面向对象设计的核心工具,它们提供了一套通用的语言和框架,使得开发者能够更有效地解决复杂的设计问题。通过学习和应用设计模式,新手设计师可以更快地掌握面向对象设计的精髓,而有经验的设计师则能更高效地复用和改进他们的设计。