Ik ben nieuw met design patterns en heb nu het strategy toegepast. Dit is opzich aardig gelukt, alleen nu vraag ik ma af hoe ik de database toegang moet implementeren. Dit is wat ik nu heb:
Waar ik nu mee zit is het volgende. De classes die ISendBehavior hebben geerfd hebben dus de methode Send(). Is het nu wijs om in elke class die van ISendBehavior erft een database instantie te maken? Om dan vervolgens de query op te zetten en ander database gerelateerde zaken af te handelen?
code:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| namespace StrategyPattern { public interface ISendBehavior { void Send(); } public class SendAppointment : ISendBehavior { public void Send() { // implement code } } public class SendTask : ISendBehavior { public void Send() { // send item } } public class SendItem { ISendBehavior _sendBehavior; public SendItem(ISendBehavior sendbehavior) { _sendBehavior = sendbehavior; } public void Send() { _sendBehavior.Send(); } } /* AANROEP */ public class Aanroep { public void Verzenden() { SendItem app = new SendItem(new SendAppointment()); app.Send(); } } } |
Waar ik nu mee zit is het volgende. De classes die ISendBehavior hebben geerfd hebben dus de methode Send(). Is het nu wijs om in elke class die van ISendBehavior erft een database instantie te maken? Om dan vervolgens de query op te zetten en ander database gerelateerde zaken af te handelen?