facade design pattern

Status
Niet open voor verdere reacties.

hannesvdc

Gebruiker
Lid geworden
30 jan 2010
Berichten
23
Hallo iedereen,

Ik heb een vraag over het facade design pattern. Ik heb al op een aantal sites gelezen dat de facade een soort controller is van je programma. Nu de vraag: Ik maak een programma om grafieken te tekenen. Ik heb 1 object die alle gegevens bijhoudt en een object die het tekenen mogelijk maakt. Maar nu: 1) als je bijvoorbeeld op de tekenknop klikt om te tekenen, moet de facade dan de gegevens ophalen van het object die de gegevens behoudt, en dan de methode 'draw' aanroept van de tekenaar met de opgehaalde gegevens, 2) of als je op de knop klikt dat de facade de draw aanroept van de tekenaar, die gaat dan de gegevens gaan ophalen via een aantal getmethoden van de facade en dan tekent de tekenaar de grafiek.
Methode 1 of 2?
 
een facade is inderdaad wel een soort controller, maar deze gebruik voor ingewikkelde opdrachten dit je voor de gebruiker eenvoudig wilt maken.

in jou geval zoiets:

tekenGrafiek(String titel,int{} data) {
GrafiekModel model = new Model(data);
model.setTitel(titel);
Grafiek grafiek = new Grafiek(model);
grafiek.setScale(100);
grafiek.draw();
}

de methode tekenGrafiek() verbergt de complexiteit van het tekenen van een grafiek. Maar in jouw geval, zal ik Model/View/Controller of Model/View pattern nemen...
 
ben niet echt een voorstander van dat mvc gedoe, ik zal eerst eens kijken wat er echt moet gebeuren met het tekenen want de x en yas moeten ook nog getekend worden.
 
Kzal het anders zeggen, ik heb wel een view, een controller voor elke view en een model, maar ik werk niet met Observer.
 
Neem aan als het een opdracht is zal met een server moeten werken
bekijk jboss eens kort en ejb kom je al snel bij facadebean uit dan moet je niet zelf schrijven het lukt ook met socket of rmi maar dit is moeilijker.
Hier al een klein voorbeeldje van een facade
PHP:
@Stateless
@RolesAllowed("client")
@WebService
@WebContext(authMethod="BASIC", secureWSDLAccess=false)
public class CustomerFacadeBean implements CustomerFacade {
	@PersistenceContext(unitName = "BankContact")
	private EntityManager em;
	@Resource
	private SessionContext ctx;
	@EJB
	private TransactionServiceLocal tsl
 
Kdenk dat ik volledig met het facade pattern ga werken, vind het eigenlijk wel goed, zo zijn alle klasses zo min mogelijk met elkaar in contact en de overkoepelende klasse moet eigenlijk maar een paar methoden van het subsysteem aanroepen en zo...
Tis eigenlijk gwn java se, niet ee.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan