【发布时间】:2014-07-18 17:31:30
【问题描述】:
我有几个与特定产品相关的视觉工作室项目。该产品是 3 层应用程序,例如有数据库、工作流服务器和应用服务器+网络服务。
现在假设这个产品或软件与水果和水果箱的交易有关。我正在做的是,当用户创建或组装水果箱时,我正在创建 FruitCrate 的对象,然后不是使用多个参数调用方法,而是创建 FruitCrate 对象并将其发送到 DataAccess 项目、工作流项目和 Web 服务而不是参数。
现在假设 FruitCrate 类或对象看起来像这样,
Public Class FruitCrate
{
Public string NumberOfFruits {get;set;}
Public string NameOfFruits {get;set;}
Public string ClientName{get;set;}
Public string PaymentDetails{get;set;}
.... let say 20 - 30 more properties added
}
现在在 dataAccess 中,我正在创建 FruitCrate 的对象并添加这样的所有值,
FruitCrate fc = new FruitCrate();
fc.NameOfFruits = "alksdjaslkdj";
...
fc.PropertyNumber30 = "asdasdasd";
但是当我将这个对象发送到工作流时,就像只发送 10 个属性一样
FruitCrate fc = new FruitCrate();
fc.NameOfFruits = "alksdjaslkdj";
...
fc.PropertyNumber10 = "asdasdasd";
作为中级开发人员,我不确定这是否是正确的做法?也有人可以建议我任何资源,我可以在其中了解有关此类编码的更多信息,我只是很困惑要搜索什么来改进此类编码或应用程序架构。
编辑
请尽量理解我只是添加了 FruitCrate 作为示例,这不是我实际在做的事情,因为公司隐私,我无法透露确切的情况。
我想知道的是,有没有更好的方法将对象发送到不同的项目,而不是发送带参数的方法?
请不要与示例混淆。
【问题讨论】:
-
我建议
FruitCrate应该实现IEnumerable<Fruit> -
或者至少有这样的属性。水果的数量只是计数。水果的名称是水果的属性。
-
或者
FruitCrate可以有一个名为Fruits的属性,它是IEnumerable<Fruit>,而不是NumberOfFruits和NameOfFruits属性。 -
请改进您的标题,使其真正反映您的问题。
-
这个问题似乎跑题了,因为它属于codereview.stackexchange.com。