|
1
36
这是一个可能的解决方案,尽管不是很干净:
这样,DAL&BAL就能看到您的所有内部结构。这可能不可取,但我只是建议一个可能的解决方案。 |
|
|
2
18
两种常见的方法要么是类应该有一个用于DAL的构造函数,要么是DAL应该使用反射来水合物。 |
|
|
3
12
或者你可以
|
|
|
4
9
也许我误解了,但是如果你想要真正的只读ID,为什么不使用实际的只读字段呢?
|
|
|
5
7
您可以让用户通过构造函数设置只读属性:
|
|
|
6
2
也许,您可以将它们标记为内部的,在这种情况下,只有DAL或BL中的类(假设它们是单独的DLL)才能设置它。 您还可以提供一个构造函数,它获取字段,然后只将它们作为属性公开。 |
|
|
7
2
在哪里?
|
|
8
1
通常情况下,ID不是实体的自然组成部分,而是需要抽象掉的数据库工件。 这是一个设计决策——只允许在构造期间或通过方法调用设置ID,因此它由类内部管理。 您可以自己编写一个setter,假设您有一个支持字段:
或通过建造商:
|
|
|
9
0
根据我的应用范围,我喜欢将对象的水合机制放在对象本身中。我将用一个自定义对象包装数据读取器,并向它传递一个委托,该委托在查询返回时执行。委托将传递给DataReader。然后,因为我在我的智能商务对象,我可以水合物远离我的私人设置。 编辑伪代码“dataaccesswrapper”为我包装了所有的连接和对象生命周期管理。所以,当我调用“executedatareader”时,它会创建连接,通过传递的proc(参数有一个重载)来执行它,执行委托,然后在它自身之后进行清理。
|
|
|
MWRazer · 在类-C上具有作为属性的函数++ 2 年前 |
|
|
Vopel · 添加隐藏的属性,除非该属性具有值 2 年前 |
|
Shane Amare · 构造函数和对象构造之间的区别是什么? 3 年前 |