首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有状态的外观设计模式

带有状态的外观设计模式
EN

Stack Overflow用户
提问于 2013-04-20 10:05:27
回答 2查看 289关注 0票数 1

在实现了一个外观来隐藏一些复杂的子系统之后,我们最终只有一个客户端类。但问题是,这个类仍然有100多个API。这似乎违背了内聚力原则。facade类还管理状态,以便可以隐藏子系统之间使用的对象。该系统由子系统(例如,项目、策略、用户、权限等)组成,我认为我们可以以更模块化的方式设计外观。在这种情况下,有没有可以很好地与facade配合使用的设计模式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-20 10:30:14

正如您已经说过的,在一个类中包含超过100个API不是一个好主意。它们可以被分成不同的外观类。通用功能可以移动到基类中。这不是一种设计模式,而是面向对象的核心。该状态仍然可以保持。我不确定您是否已经将会话用作保存状态的存储。如果是这样的话,您仍然可以继续这样做。

您还可以使用缓存来存储状态或使用数据库。如果您正在使用EJB,那么SFSB将提供此功能。

票数 1
EN

Stack Overflow用户

发布于 2013-04-20 10:31:49

如果我们遵循域驱动设计的原则,那么您可以将您的系统分为无状态服务和有状态实体。在单个外观中组合服务和状态机不一定是一个好主意。

顺便说一句,在我看来,使用facade几乎就像在面向对象语言上强制进行过程编程一样。外观只是一组函数,就像非OOP语言中的模块一样。因此,通常我在使用OOP时尽量避免使用facades,尽管实用一点是很好的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16115777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档