Documente Academic
Documente Profesional
Documente Cultură
Modulele trebuie scrise astfel încât să poată să fie extinse fără să fie modificate.
Deschide usa
• Cum poate maşina să ruleze eficient cu un motor Turbo?
• Numai modificând Maşina
…în versiunea curentă
Euristici PSL:
Este ilegal ca o clasă derivată să suprascrie o metodă a clasei de bază printr-o metodă
NOP.
• NOP (no-operation): o metodă care nu face nimic
• Soluţia 1: relaţie de derivare inversă
– Dacă în clasa de bază iniţială există doar comportament adiţional
• Ex. Căţel- căţel_care_nu_se_mişcă
• Soluţia 2: extragerea unei clase de bază comune
– Dacă atât clasa iniţială cât şi clasele derivate au comportamente diferite
– Pentru Pinguini: Păsări, PăsăriZburătoare, Pinguini
• Clase cu o stare defectă:
– Ex. Căţei stupizi sau paralizaţi
Euristici PID:
Proiectaţi centrat pe interfeţe, nu pe implementare
Utilizaţi moştenirea pentru a evita legarea directă de clase:
Evitaţi dependenţele tranzitive
• Evitaţi structurile în care straturi de nivel înalt depind de abstracţiuni de nivel
scăzut
– În exemplul de mai jos, stratul “Policy” – strategie, este, în cele din
urmă, dependent de stratul “Utility”- utilităţi
Secventa principala
Măsurarea arhitecturilor OO
Distanta
| A+ I −1|
D= , in domeniul [0, ~0.707]
√2
Distanta normalizata
D=|A+I-1|, in domeniul [0,1]; 0=pachet pe secventa principala, 1=pachet departe de
secventa principala.