sách gpt4 ai đã đi

Thực hành liên kết lỏng lẻo và OO cho người mới bắt đầu

In lại 作者:行者123 更新时间:2023-12-04 11:17:55 29 4
mua khóa gpt4 Nike

保持类松散耦合是编写易于理解、修改和调试的代码的一个重要方面——我明白这一点。然而,作为一个新手,几乎任何时候我都会超越我所苦苦挣扎的最简单的例子。

我或多或少地了解如何将字符串、整数和简单数据类型封装在它们自己的类中。然而,当我开始处理诸如富文本格式之类的信息时,事情变得非常复杂——除非我只使用组件中已经存在的各种方法。继续这个例子,假设我正在编写一些在 UI 中包含 RTF 备忘录组件的东西。在 Delphi 中,该组件具有用于执行诸如保存格式化文本之类的内置方法。此外,有时似乎唯一(或至少是最好的)处理 RTF 文本本身的方法是通过再次内置到组件中的方法。

当我已经有一个组件可以为我完成所有这些工作时,我将如何(或为什么)在另一个类中完成保存、加载和格式化文本的所有工作?

就我自己而言,我通常最终要么 (a) 做一些看起来比需要复杂得多的事情,重新发明已经存在的方法,或者 (b) 创建仍然彼此紧密耦合的糟糕的类。正如他们在非正式广告中所说的那样,“必须有更好的方法!”

我只是在概念上迷失了“更好的方式”是如何工作的。有什么想法吗?

1 Câu trả lời

我相信你错过了一些基本概念。

OOP 背后的理念从离散的、可重用的逻辑单元开始。强调创建自给自足的模块。

对于 RTF 备忘录组件,它通过处理给定的一组数据(备忘录)来满足上述标准,这样您的程序和程序中的其他对象就不会关心它是如何工作的。它的目的是显示一个界面,接受数据,操作该特定数据,并将该数据传递给程序的另一部分。

loosely coupled 背后的理念只是你可以用另一个满足相同接口(interface)规范的控件替换那个备忘录控件。也就是说,您可以实例化它,让用户与之交互,并在必要时提取数据。

松散耦合与 的想法齐头并进Separation of Concerns (系统级);这是将程序分解为不同功能以减少重叠功能并使管理更容易的过程。但它们不是一回事。顺便说一句,这也是从程序化编程风格转向 OOP 背后的主要驱动力之一。由于 OOP 迫使编程根据相关和离散的功能进行思考。

听起来你真的在问 SoC。

实现SoC的方法有很多。有时它涉及将 UI、处理逻辑和持久层分开(例如,考虑 MVC 设计模式)。有时只是将相关功能放在一起以降低复杂性; RTF 控件已经通过包含操作数据所需的所有函数来实现这一点,这样您就没有进一步的依赖关系。

关于oop - 初学者的松散耦合和 OO 实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/690869/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com