2

我的问题不是哲学问题,而是方法论问题。我了解我们如何构建软件来模拟日常流程和对象,例如很好地展示的“汽车”对象。我的问题是关于不太具体的事情。例如,如果我要构建一个从数据库返回产品和价格的搜索应用程序(作为一个更大的应用程序的一部分),我会想象它在生活中的实现方式吗?例如,代码中的“搜索代理”对象会模仿现实生活中的“人类搜索代理”(从中创建属性和方法)?本质上,如果某些东西在现实生活中没有明显的对应物,我们是否会采用这个想法并创建它的表示,以便我们可以对其进行编码?我应该如何考虑应用程序中不太模仿生活的对象?

感谢您的输入

4

3 回答 3

3

不,对象是概念单位。

现实生活中的对象只是用来介绍面向对象的思想,但对象不必对应于“真实”的事物,它们也对应于没有现实生活等价物的抽象概念。

于 2012-06-25T23:59:27.557 回答
3

面向对象的设计不是模仿现实生活中的对象。

这只是关于如何为您的问题域抽象对象的懒惰指导。一个好的开始,但对于更抽象的问题领域来说还不够。

基本思想是能够根据数据和行为抽象出可以从问题域中的其他单元中抽象出来的那些单元。

于 2012-06-26T00:01:53.643 回答
1

查看功能,您的输入和输出。查找要完成的任务,例如检索数据、处理数据和创建逻辑表、数据表示。您可以将这些任务分解为更小但相似的任务。例如连接到服务器任务。请求发送任务,解析请求返回。尝试将您的目标分解为最小的部分,然后您可以将这些小函数和数据成员放入类中。

于 2012-06-26T00:00:47.257 回答