Ik vroeg mij af wat jullie van de volgende OO-constructie vinden:
Je hebt:
- Entity classes
- Entity Action classes
- Entity Data classes
Entity class
Kale klasse die alleen variabelen en properties bevat. Heeft maar 1 constructor die puur de variabelen initialiseert.
Entity Action class
Klasse die alle bewerkingen van een entiteit heeft.
Entity Data class
Klasse die alle database bewerkingen regelt
Mijn vraag
Deze aanpak heb ik niet zelf bedacht en ben het op een aantal punten er niet mee eens. Ik wil jullie vragen wat jullie van deze aanpak vinden. Zou je het zelf zo doen?
Je hebt:
- Entity classes
- Entity Action classes
- Entity Data classes
Entity class
Kale klasse die alleen variabelen en properties bevat. Heeft maar 1 constructor die puur de variabelen initialiseert.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| class Auto {
private Int32 _ID;
private String _brand;
public Auto {
_ID = Int32.MinValue;
_brand = String.Empty;
}
public string ID {
get {return _ID;}
set {_ID = value;}
}
public string Brand {
get {return _brand;}
set {_brand = value;}
}
} |
Entity Action class
Klasse die alle bewerkingen van een entiteit heeft.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| class AutoAction {
public Auto Create() {
return new Auto();
}
public Auto FindByID(int id) {
AutoData autoData = new AutoData();
Auto result = autoData.SelectByID(id);
autoData.Dispose();
return autoData;
}
public void Save(Auto auto) {
AutoData autoData = new AutoData();
autoData.Save(auto);
autoData.Dispose();
}
...
} |
Entity Data class
Klasse die alle database bewerkingen regelt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| class AutoData {
public Auto SelectByID(int id) {
...
AutoAction autoAction = new AutoAction();
Auto result = autoAction.Create();
result.ID = Convert.ToInt32(DataReader["ID"]);
result.Brand = Convert.ToString(DataReader["Brand"]);
autoAction.Dispose();
...
}
public void Save(Auto auto) {
...
}
...
} |
Mijn vraag
Deze aanpak heb ik niet zelf bedacht en ben het op een aantal punten er niet mee eens. Ik wil jullie vragen wat jullie van deze aanpak vinden. Zou je het zelf zo doen?
Any sufficiently advanced technology is equivalent to magic.