Oop 设计基于给定属性检索和分类内容的解决方案
这是我面临的一个设计问题。假设我有一个汽车网站。汽车具有以下具有不同可能值的属性Oop 设计基于给定属性检索和分类内容的解决方案,oop,design-patterns,Oop,Design Patterns,这是我面临的一个设计问题。假设我有一个汽车网站。汽车具有以下具有不同可能值的属性 颜色:红、绿、蓝 尺寸:小,大 基于这些属性,我想根据以下标准将年轻人的汽车、中年人的汽车和老年人的汽车进行分类: 年轻的汽车:红色还是绿色 中年车:蓝色大 汽车:蓝色和小型 我将此标准称为目标 我有一张表,上面有列:id、颜色和大小 我需要能够: a)按id取回汽车时,告诉目标(如果是年轻人、中年人或老年人) b)能够查询数据库,以了解每个目标的汽车视图数量 此外,作为一名开发人员,我必须以一种易于更改这
- 颜色:红、绿、蓝
- 尺寸:小,大
- 年轻的汽车:红色还是绿色
- 中年车:蓝色大
- 汽车:蓝色和小型
任何人都可以解释一个很好的解决方案,或者发送关于某个面临此问题的帖子的文档,或者发送解决此问题的模式设计?乍一看
规范
模式可能满足您的期望。给出了一个很好的解释它是如何工作的,下面是一个小提示:
OverDueSpecification OverDue = new OverDueSpecification();
NoticeSentSpecification NoticeSent = new NoticeSentSpecification();
InCollectionSpecification InCollection = new InCollectionSpecification();
ISpecification SendToCollection = OverDue.And(NoticeSent).And(InCollection.Not());
InvoiceCollection = Service.GetInvoices();
foreach (Invoice currentInvoice in InvoiceCollection) {
if (SendToCollection.IsSatisfiedBy(currentInvoice)) {
currentInvoice.SendToCollection();
}
}
可以考虑组合<代码>规范>代码>模式>代码>观察者< /代码>。 还有一些其他想法:
- 扩展SQL生成的
模式,特别是WHERE子句规范
- 在数据库中存储条件配置
- 条件版本控制:存储有关用于分配给与类别本身相关的类别的规则版本的信息