模特班
我尝试对情况类似的类进行建模:
public class Car
{
private List<Gratis> _gratises=new List<Gratis>();
public List<Gratis> Gratises
{
get { return _gratises; }
set { _gratises= value; }
}
public class Gratis
{
public string Name {get;set;}
public int ID {get;set;}
}
在一个地方用户管理免费列表。他可以添加、删除或编辑免费内容。
在第二个模块中,用户可以管理汽车:
他可以免费添加或删除汽车。
我的模型还好吗?
如果是,如何实施?
我有 datagridview 和:
从数据库获取免费列表,然后获取免费汽车列表?
或者也许添加 IsChecked 字段?
Sql Server 2005.asmx 和 WinForms
I try to model class where situation is similar to:
public class Car
{
private List<Gratis> _gratises=new List<Gratis>();
public List<Gratis> Gratises
{
get { return _gratises; }
set { _gratises= value; }
}
public class Gratis
{
public string Name {get;set;}
public int ID {get;set;}
}
In one place user manages list of gratises. He can Add, Remove, or Edit gratises.
In second module user can manages cars:
He can add or remove gratis to car.
Is my model ok ?
If is, how implement this?
I have datagridview and:
get list of gratis from database, and next get a list of gratis of car ?
Or maybe add IsChecked field ?
Sql Server 2005. asmx, and WinForms
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查看 M.Fowler 重构方法 封装集合
另请注意,在 get 属性中返回 read-唯一的集合:
{
获取 { 返回 _gratises.AsReadOnly(); }
}
Look at M.Fowler refactoring approach Encapsulate Collection
Also note that in get properties return read-only collection:
{
get { return _gratises.AsReadOnly(); }
}
看起来不错,有 2 个考虑因素:
为什么
_gratises
是公开的?这是通过
Gratises
访问,它可能应该是私有的
你介意有人替换吗
“免费”清单的全部内容?如果
如果你这样做,我会删除设置器
并添加
AddGratis(Gratis)
和代理的
RemoveGratis(Gratis)
方法底层列表。
It looks pretty good, 2 considerations:
Why is
_gratises
public? it isaccessible through
Gratises
, itshould probably be private
Do you mind if someone replaces the
"gratises" list in its entirety? If
you do, I would remove the setter
and add
AddGratis(Gratis)
andRemoveGratis(Gratis)
methods that proxy tothe underlying List.