Visa ett inlägg
Oläst 2010-11-23, 17:32 #8
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Mitt tips är att dela upp funktionaliteten i ett API i flera helt fristående komponenter/klasser där det är möjligt. Detta är bra för den som vill använda enstaka delar.

Exempelvis, egen klass/komponent för::

- Betalningsmodul till varje enskild betalningsförmedlare som Paypal, Payex, osv... Kanske med en egen abstractklass så alla får samma gränssnitt mot användande komponent. Tänk på att det ska vara möjligt att använda flera betalningsmoduler i applikationen hos en installation.
- Shopping cart
- Kommunikation med databasen (sä det blir lätt att byta databasmotor)
- GUI går alltid genom en presentationskompont så GUI inte går direkt mot databas

Försök i möjligaste mån att isolera olika skikt som exempelvis:

- GUI (HTML/IMAGES) - Detta skikt ska kunna bytas helt för olika devices som Mobiltelefon, PC, Mac, Bankomater m.m.
- Presentationslager (GUI går alltid genom detta lager) Kan återanvändas av alla GUI-varianter.
- Dialogkontroll (navigering)
- Processlogik (i programkoden)
- Databas mappning (ORM=Object relational Mapping, typ hibernate)
- Stored procedures, Datamodell m.m.

Se till att det är TYDLIGA gränser mellan varje skikt och att alla anrop sker uppifrån och neråt i hiarkin, exempelvis ska processlogiken aldrig ska aldrig anropa dialogkontrollen, för då har man tänkt fel.

Se till att gränssnitten mellan varje skikt är konsekvent likadant så det blir enkelt att byta ut enskilda komponenter/skikt.

Om du använder externa komponenter som inte är delar stora välkända APIer, typ en tredjeparts GUI-Grid eller en Async-komponents från 3:e part så ska man ha för vana att bygga Wrapper(omslags-)-komponenter runt dem, så det blir enkelt att byta om det skulle behövas.

Se även till att ditt API stöder en välkänt applikationsmönster (eller om du bygger ett revolutionerande bättre själv). Ett vanligt förekommande som har många år på nacken är Model-View-Controler eller MVC.



Tänk också på att komponenter eller klasser får begränsade och lätt överblickbara ansvarsområden, så det blir lätt att förstå vad de anvarar för.
Tänk på att ALDRIG ha printsatser till skärmen i andra moduler än GUI-skiktet.

Senast redigerad av Conny Westh den 2010-11-23 klockan 18:02
Conny Westh är inte uppkopplad   Svara med citatSvara med citat