问题标签 [ooad]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
architecture - 什么是抽象与不稳定性图?
我最近使用了 NDepend,它对我的 .net 程序集和相关 pdb 产生了很好的报告。
我在报告中发现的最有趣的事情是抽象性与不稳定性图。我想详细了解这一点,我阅读了他们的文档和在线指标,但这只能在一定程度上有所帮助。
首先,我希望了解如何正确评估图形以及稳定控制抽象性的技术。
这里有一篇非常好的文章对此进行了讨论,但除此之外我还需要“我如何控制它?[稳定地控制抽象性]'
methodology - 需要一些解释 OOAD“是”层次结构
我已经购买了带有应用程序的面向对象分析和设计,在第 64 页第 2 段解释了“是”层次结构,如下所示。
就其“是”层次而言,高级抽象是泛化的,而低级抽象是专门化的。因此,我们说 Flower 类比 Plant 类处于更高的抽象级别。
据我了解,我认为植物比植物更概括,然后花类的抽象级别较低。
我想知道此时我的理解是正确的还是书上的正确?请澄清一下。
oop - 面向对象的设计资源
我正在寻找学习面向对象设计的好资源(书籍/网站)。我发现的每一个资源都在指导我更多关于 UML 和 RUP 而不是 OO 设计。Head first book 的纯粹重复让我不想读他们的任何书。我正在寻找一本类似于“计算机程序的结构和解释”的面向对象设计的书,以达到教授 OO 的目的。我对任何特定的面向对象语言没有偏好。
php - 寻找一些关于报告的 OOAD 建议
我需要以多种不同的文件格式创建任意数量的报告。我可以使用 Smarty 模板输出的大多数格式。但是,输出到 Excel 和 PDF 会使事情变得复杂,需要使用 FPDF 或 TCPDF 和 PHPExcel。
我正在尝试找出通过一种或多种设计模式(如果可能)来组织课程的最佳方式。
输出格式:
- 文字-Smarty
- 文本(带 PCL 格式) - Smarty
- CSV - 聪明的
- HTML - 聪明的
- Excel - PHPExcel
- PDF - FPDF / TCPDF
这些格式需要能够在内存中进行流式传输或写入文件以供以后使用。
所有报告唯一一致的是它们需要数据,直到添加 PDF 和 Excel 支持,一个模板。目前我有一个 Report 类,它有一个名为 getData() 的抽象方法。每个子类(例如 SpecificReport)获取它需要的数据并将其存储在类属性中以绑定到模板等。
每个报告都需要以所有格式提供。
Report 类目前处理输出,但添加对 Excel 和 PDF 的支持使这成为不可能。除了像 Smarty 那样将数据绑定到模板之外,还有很多其他功能。每个报告都需要特定的代码。我想我可以在每个报告子类中重载这些方法。
有没有人遇到过类似的任务?
oop - 什么是依赖注入的好比喻?
在对非 DI 系统进行编程时,一直困扰着我的一个比喻是“一个人在玩他/她的玩具”。人是对象,人的玩具是对象创建、存储、初始化和操作的任何东西。当玩具达到某种状态时,它们可以发送事件,但它们对使用它们的人一无所知;它们只是带有构成其接口的控制开关的小黑匣子。该人可以监听来自玩具的事件并通过操纵它们的界面做出响应。这个人可以用他/她的玩具做他/她想做的任何事情,但他/她可能不应该去干预他们的内脏,因为它们可能会破裂。
DI 对我的比喻造成的破坏是,它把玩具变成了有意识的存在,知道它们的主人,使用它们的人。玩具可以操纵这个人,但这个人不知道它们是如何工作的,甚至不在乎。该人只是拥有玩具并期望玩具操纵他/她以使玩具自己满意。
怎么回事??听起来很可怕!!
他们用来思考 DI 系统如何工作的一个好的心理隐喻是什么?
oop - 我们为什么要使用接口?仅仅是为了标准化吗?
我们为什么要使用接口?
仅仅是为了标准化吗?
oop - 多重性的 UML 语法是什么?(类框内)
我知道可以在同一个类框中指定多重性,而不必绘制到另一个类的链接。
我的问题是,多重性应该在名称之后还是类型之后?
是吗:
可见性名称多重性:类型
作为
或者
可见性名称:类型多重性
作为
我有两本书(Larman 和 UML 的应用 UML 和模式以及 Arlow 和 Newstadt 的统一过程),但它们不同
c# - 在软件中封装用例
我通常为我开发的所有软件编写用例。对于每个用例,我通常编写一个控制器来引导流程(实现一个用例)。
我最近开始使用 Asp.net MVC 开发 Web 应用程序。Asp.net MVC 的最佳实践之一是在控制器中保留非常少的逻辑。我无法弄清楚我将如何改变我的设计来反映这一点。
我基本上想要一种封装我的用例的方法。
oop - OOAD书籍推荐:从理论到实践
我正在寻求成为一名优秀的 OO 开发人员。OO 让我很感兴趣,因为我了解模式,知道为什么组合比继承给你更多的灵活性,以及更多这样的智慧。但是,我得出的结论是,我知道如何实现单例工厂,但我不知道如何提出健壮的 OO 设计。
我有一堆书
- GoF 的设计模式
- 反模式布朗等人。
- Fowler 重构
- 代码完成 2
它们可能是非常好的书,但它们不会教您构建应用程序。我经常被一些非常基本的决定(例子)弄得瘫痪。我正在寻找一本书,教什么时候和为什么。有很多关于锤子和钉子的书,但我还没有找到一本能告诉你它们实际关系的书。
哪本书最能帮助你成为自信的 OO 架构师/设计师?
design-patterns - 需要类设计帮助
我需要开发一个特定的 sw 模块,它以以下格式输出数据主要对象和相关对象和数量
IE
这意味着对于台式计算机对象,应有 1 个 CPU、1 个鼠标、1 个键盘、1 个监视器、2 个扬声器
同样,对于每个 Cubicle 对象,应有 4 个桌面和 1 个电源对象
规则:每 4 个隔间应有一个 HUB 对象
任何人都可以帮助我在 OOP 类/接口方面实现相同的目标吗?或者指向在这种情况下使用的设计模式的指针。非常感谢您的时间