可以肯定地说, EAV / CR数据库模型是不好的。 这就是说, 问题: 应该使用哪种数据库模型,技术或模式来处理描述可以在运行时更改的电子商务产品的属性“类”? 在一个好的电子商务数据库中,你将存储选项类(如电视分辨率,然后有一个分辨率为每个电视,但下一个产品可能不是电视,没有“电视分辨率”)。 你如何存储它们,有效地search,并允许你的用户设置产品types与variables领域描述他们的产品? 如果search引擎发现客户通常根据控制台深度search电视,则可以将控制台深度添加到您的字段,然后在运行时为每个电视产品types添加一个深度。 好电子商务应用程序中有一个很好的共同特点,他们展示了一组产品,然后有“深入”的侧面菜单,您可以看到“电视分辨率”作为标题,前五个最常见的电视分辨率发现集合。 您单击一个,它只显示该分辨率的电视机,允许您通过在侧面菜单上select其他类别进一步深入查看。 这些选项将是运行时添加的dynamic产品属性。 进一步讨论: 长话短说, 互联网上有什么链接或模型描述,可以“学术上”修复以下设置? 我感谢诺埃尔·肯尼迪提出了一个类别表,但是这个需求可能会比这个更大。 我在下面用不同的方式描述它,试图突出重要性。 我可能需要一个观点更正来解决这个问题,否则我可能需要深入到EAV / CR。 喜欢对EAV / CR模型的正面回应。 我的开发人员都说杰弗里·肯普(Jeffrey Kemp)在下面提到过:“新实体必须由专业人员来build模和devise”(脱离上下文,阅读他的回答)。 问题是: 实体每周添加和删除属性 (search关键字决定未来的属性) 新的实体每周到达 (产品由部件组装而成) 旧的实体每周都会消失 (存档,不太受欢迎,季节性) 客户想要为产品添加属性有两个原因: 部门/关键字search/同类产品之间的比较图表 消费者产品configuration之前结帐 这些属性必须有意义,而不仅仅是关键字search。 如果想要比较所有有“奶油糖霜”的蛋糕,可以点击蛋糕,点击生日主题,点击奶油糖霜,然后检查所有有趣的蛋糕,知道他们都有奶油糖霜。 这不是特定的蛋糕,只是一个例子。
我想知道如何去创build一个响应方块的布局。 每个广场将有垂直和水平alignment的内容。 具体示例如下所示…
假设你有一些对象有几个领域,他们可以通过比较: public class Person { private String firstName; private String lastName; private String age; /* Constructors */ /* Methods */ } 所以在这个例子中,当你问是否: a.compareTo(b) > 0 你可能会问,如果一个姓氏在b之前出现,或者如果a早于b等等… 在这些types的对象之间进行多重比较而不增加不必要的混乱或开销的最简洁的方法是什么? java.lang.Comparable接口只允许比较一个字段 添加无数的比较方法(比如compareByFirstName() , compareByAge()等等)在我看来是混乱的。 那么最好的办法是什么呢?
如何使用PHP5类创build一个Singleton类?
我正在考虑如何在SQL Server数据库中表示一个复杂的结构。 考虑一个需要存储一系列对象的细节的应用程序,这些对象共享一些属性,但有许多其他属性不常见。 例如,商业保险一揽子计划可能包括同一保单logging中的责任,动机,财产和赔偿保障。 在C#中实现这一点是很简单的,因为您可以创build一个包含部分集合的策略,其中部分根据各种types的封面的需要而被inheritance。 但是,关系数据库似乎不容易这样做。 我可以看到有两个主要的select: 创build一个策略表,然后创build一个Sections表,其中包含所有必需的字段,用于所有可能的变化,其中大部分将是空的。 创build一个政策表和大量的科表,每种types的封面。 这两种替代方法看起来都不尽如人意,特别是因为有必要在所有部分中编写查询,这将涉及大量的联接或多次空值检查。 这种情况下的最佳做法是什么?
为什么没有更多的主stream静态types语言支持通过返回types重载函数/方法? 我想不出有什么办法。 它似乎没有比通过参数types支持超载更有用或更合理。 它怎么不那么受欢迎?
我正在寻找一些常规策略,用于将中央服务器上的数据与不总是在线的客户端应用程序进行同步。 在我的情况下,我有一个Android手机应用程序与SQLite数据库和PHP Web应用程序与MySQL数据库。 用户将能够在手机应用程序和networking应用程序上添加和编辑信息。 即使手机不能立即与服务器通信,我也需要确保在一个位置进行的更改反映到处都是。 我不关心如何将数据从手机传输到服务器,反之亦然。 我只提到我的特定技术,因为我不能使用例如可用于MySQL的复制function。 我知道客户端 – 服务器数据同步问题已经存在了很长很长的时间,并希望获得关于处理问题的模式的信息(文章,书籍,build议等)。 我想知道处理同步的一般策略,比较长处,弱点和取舍。
因为我们知道Android随着各种不同的function,分辨率和屏幕尺寸的设备而来,所以在开发一个支持多个(大和小)屏幕的应用程序时,存在大小和布局的障碍。 这导致了屏幕尺寸,分辨率和DPI的不同组合,并且为Android设备的devise和开发创造了相当大的挑战。 虽然其他制造商(非Android)具有不同的分辨率和DPI,但它们共享相同的屏幕大小,并且分辨率遵循相同的宽高比。 因此,可以创build一个图像,以适应非Android设备。 我的问题是,是否有适当的stream程或体系结构,以满足要求? 记得我们有不同大小和分辨率的平板电脑。 我知道Android开发人员包含这个信息,但我的看法是从实施。 据我所知,我所了解的是,即使程序员必须知道devise的概念,为了deviseAndroidgraphics。
我试图让我的头在如何正确使用存储库模式。 总根的核心概念不断涌现。 当searchWeb和Stack Overflow以获得有关聚合根目录的帮助时,我一直在寻找关于它们的讨论以及应该包含基本定义的页面的死链接。 在存储库模式的上下文中, 什么是聚合根?
我要求一个模板技巧来检测一个类是否具有给定签名的特定成员函数。 这个问题类似于http://www.gotw.ca/gotw/071.htm中的一个,但不一样:在Sutter的书中,他回答了C类必须提供成员函数的问题一个特殊的签名,否则程序将不能编译。 在我的问题,我需要做一些事情,如果一个类有这个function,否则做“别的东西”。 boost :: serialization也面临类似的问题,但我不喜欢他们采用的解决scheme:一个模板函数默认调用一个自由函数(你必须定义)一个特定的签名,除非你定义一个特定的成员函数在他们的情况下,使用特定types的2个参数进行“序列化”),否则会发生编译错误。 那就是实现侵入式和非侵入式序列化。 我不喜欢这个解决scheme有两个原因: 要非侵入性,你必须覆盖boost :: serialization命名空间中的全局“serialize”函数,所以你有你的客户端代码来打开命名空间提升和命名空间序列化! 解决这个混乱的堆栈是10到12个函数调用。 我需要为没有该成员函数的类定义一个自定义行为,并且我的实体位于不同的名称空间中(并且我不想在另一个名称空间中重写在一个名称空间中定义的全局函数) 你能给我一个解决这个难题的提示吗?