【发布时间】:2017-04-15 08:00:29
【问题描述】:
我对 Java 比较陌生——尤其是在接口和抽象类方面(我确实知道如何使用它们),但是在这种情况下,我有点困惑我应该如何设置我的架构。首先,我想说这只是一个有趣的项目 - 但当然主要目标是获得经验:-)。
让我们开始吧!
我有一个很棒的想法,就是创建一个可以买卖物品的网站。我正在考虑使用 Json、jax-rs 和某种数据库(可能以 NoSQL/MsSQL 结尾。
但是,我似乎在创建架构以及如何正确完成架构方面遇到了问题。
所有广告都有一些共同点(它们都应该包含图片、广告文字、价格等)。这不是问题所在。问题是我不知道如何处理某些广告可能存在的所有差异......例如“电子”类别下的广告可能与“衣服”类别下的另一个广告有很多不同的字段。 .
我的意思是..它可能看起来像这样:
衣服 -> 男士 -> 毛衣
电子产品 -> 手机 -> 苹果
电子产品 -> 电视 -> 三星
你会怎么处理呢?
想象以下两个广告:
AD1: 文字:我想卖掉我的电视 价格:100美元 TimeCreated:今天(日期时间,随便) 类别:电子产品 子类别:电视 屏幕尺寸:40" 品牌:三星 型号:700UHD
AD2: 文字:我想卖掉我的裤子 价格:10美元 TimeCreated:今天(日期时间,随便) 类别:衣服 子类别:男士 裤子? 品牌:柴油 尺寸:32 长度:40¨ 条件:不好
我真的希望你明白 - 我真的很困惑我应该如何处理这个问题。
感谢您的宝贵时间。
【问题讨论】:
-
嗯,在您的网站上拥有 Electronics 选项卡和 Phones 选项卡并不要求您为它们提供类或接口,对吗?我想我并没有真正得到你想要的。对于抽象类和接口之间的一般区别,请查看:stackoverflow.com/a/18778220/5221346
-
您好,感谢您的回答。我将它作为一个 android 应用程序启动。当我创建一个新广告时,它当然应该将其全部保存在数据库中。我的问题是我认为很难(至少当你不知道正确的方向时)处理可以创建的不同类型的广告。关于广告的信息量和类型可能完全不同,具体取决于它是哪个类别..
-
你让这变得比它需要的更复杂。如果您从鸟瞰图上看,所有产品都有很多共同点:名称、价格、年龄、尺寸、重量。我会简单地以最通用的方式对它们进行建模,并将实际使用的信息(以及输入的格式)放在类别中。不需要专门的类来表示产品。
-
“将实际使用的信息(以及输入的格式)放在类别中”是什么意思?
-
您是否只需创建一个包含共享字段(例如位置、价格、年龄、adText)的类,然后为其余类别创建单独的类?
标签: java interface architecture abstract-class abstract