我的问题,不是哲学问题,而是方法论问题。我理解我们如何构建模拟日常过程和对象的软件,比如如此充分展示的“汽车”对象。我的问题是关于较不具体的事情。例如,如果我要构建一个从数据库返回产品和价格的搜索应用程序(作为更大的应用程序的一部分),我会想象它在生活中如何实现吗?例如,代码中的“搜索代理”对象会模仿现实生活中的“人类搜索代理”(从中创建属性和方法)?从本质上讲,如果某些东西没有明显的现实生活对应物,我们是否会采用这个想法并创建它的表示,以便我们对其进行编码?我应该如何看待应用程序中不能模仿生活的对象?
感谢您的所有输入
答案 0 :(得分:3)
不,对象是概念单位。
真实生活对象仅用于INTRODUCE面向对象的想法,但对象不必对应于“真实”的东西,它们也对应于没有真实生活等价物的抽象概念。
答案 1 :(得分:3)
面向对象的设计不是模仿现实生活中的对象。
这只是关于如何为问题域抽象对象的懒惰指导。一个良好的开端,但不足以应对更抽象的问题域。
根本的想法是能够根据数据和行为抽象那些可以从问题域中的其他单元中抽象出来的单元。
答案 2 :(得分:1)
查看功能,输入和输出。 寻找要完成的任务,例如,检索数据,处理数据和创建逻辑表,表示数据。 您可以将这些任务分解为更小但相似的任务。例如,连接到服务器任务。请求发送任务,解析请求。尝试以最小的部分分解您的目标,然后您可以将这些小函数和数据成员放入类中。