Goedemorgen,
Ik heb wat moeite met het principe Don't Repeat Yourself. Ik heb vele methods waarvan de implementatie veel op elkaar lijken. Een voorbeeld (C#):
Bovenstaand is enkel even een simpel voorbeeld. Het punt is namelijk dat ik een hoop van zulk soort methods heb, In elke method wordt een instantie van de Database class gemaakt, een SqlCommand object gemaakt en hier de bijhorende query meegegeven. En indien nodig worden bij het SqlCommand object ook de SqlParameters opgegeven. Het idee van deze method is dus steeds hetzelfde. Ik heb het gevoel dat dingen dubbel zit te doen en dat dit eenvoudiger kan, alleen heb ik nog niks kunnen verzinnen. Daarom eigenlijk mijn vraag, hebben jullie een idee om dit te vereenvoudigen? Hoe pakken jullie dit soort dingen aan?
Bedankt alvast,
Martijn.
Ik heb wat moeite met het principe Don't Repeat Yourself. Ik heb vele methods waarvan de implementatie veel op elkaar lijken. Een voorbeeld (C#):
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| Database db = new Database; // mijn eigen database class string query = "SELECT * FROM tabel"; SqlCommand com = new SqlCommand(query); try { if(db.ExecuteSelectQuery(com)) { DataTable dt = db.GetDataTable; List<User> users = new List<User>(); foreach(DataRow row in dt.Rows) { User user = new User(); user.name = row["naam"]; user.id = row["id"]; users.add(user); } return users; } return null; } catch(Exception) { throw; } |
Bovenstaand is enkel even een simpel voorbeeld. Het punt is namelijk dat ik een hoop van zulk soort methods heb, In elke method wordt een instantie van de Database class gemaakt, een SqlCommand object gemaakt en hier de bijhorende query meegegeven. En indien nodig worden bij het SqlCommand object ook de SqlParameters opgegeven. Het idee van deze method is dus steeds hetzelfde. Ik heb het gevoel dat dingen dubbel zit te doen en dat dit eenvoudiger kan, alleen heb ik nog niks kunnen verzinnen. Daarom eigenlijk mijn vraag, hebben jullie een idee om dit te vereenvoudigen? Hoe pakken jullie dit soort dingen aan?
Bedankt alvast,
Martijn.