Vous êtes sur la page 1sur 30

m Design Patterns

m Framework Android
m Framework & Design Pattern
m Conclusion

2
m C·est une solution générale réutilisable.
m Ce n·est pas une conception finie.
m C·est une description ou un modèle qui peut
aider pour résoudre un problème dans de
nombreuses situations.
m les design patterns orienté-objet présentent
généralement des relations et des interactions
entre les classes et les objets.
m Ils sont beaucoup utilisés dans la conception
de système à base de composant.
3
u
=Est basé sur la conception orientée objet
=Et fait partie du système d·exploitation
Android

Android
Operating
Systems

5
m ne conception réutilisable d'un
système.
m n squelette d'une application qui peut
être personnalisé par un développeur
d'applications.

6
m ðes design patterns et les Frameworks
sont des concepts distincts de différentes
natures.
m ðes Frameworks sont de nature physique
et sont des logiciels exécutables utilisés
dans la conception ou à l·exécution.
m ðes design patterns sont de nature
logique , représentent les connaissances
et l·expérience acquise avec le logiciel.
7
m ÷  s·occuper de l'initialisation et
la configuration des classes et des
objets.
m    
s·occuper de l'interface de
découplage et de la mise en œuvre des
classes et des objets.
m ÷  
£raiter les
interactions dynamiques entre les
associations de classes et des objets
8
Diffère la création d'objet à une autre classe ë 
6   6    6  

      
  


 
ë       
    !
   "
  
  
 ÷    
   6      
     
   
Diffère la création d'objet à un autre objet 
 
Décrit comment assembler des objets
 


 les
Décrit les algorithmes et contrôle  flux

9
ða méthode Factory permet de différer
l'instanciation des sous-classes.

v
 

 
÷
 
 





!  
÷

vv
public class MyDraw extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicView(this)); }
}
public class GraphicView extends View{
private Paint paint= new Paint();
GraphicView(Context ctx) {
super(ctx);
}
@Override protected void onDraw(Canvas canvas) {
int line_x = v ;
int line_y = 5 ;
canvas.drawColor(Color.WHI£E);
paint.setColor(Color.GRAY);
paint.setStrokeWidth(3);
canvas.drawðine(line_x, line_y, line_x+v2 , line_y, paint);
«
}
}
v2
ðe Pattern composite permet de traiter un groupe d'objets
comme s·il était une seule instance d'un objet.

v3
vu
v5
n sous-ensemble de publish/subscribe pattern assynchrone

v6
Observers

Subject
v7
v8
m Application de l·Observer Pattern
m Avantages:
Réutilisation du model, faible couplage

ða ligne continue
représente un lien direct,
  une association
indirecte via un
observateur (par
exemple).
v9
m Cursor: model
m ðistView: view
m Activity: control

control

SimpleCursorAdapter ListAdapter

÷ursor TextView ListView

2
2v
22
23
2u
// Get a Spinner and bind it to an ArrayAdapter
that
// references a String array.
Spinner sv = (Spinner) findViewById(R.id.spinnerv);
ArrayAdapter adapter =
ArrayAdapter.createFromResource(
this, R.array.colors,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.la
yout.simple_spinner_dropdown_item);
sv.setAdapter(adapter);
ArrayAdapter
Spinner
XMð R

25
// ðoad a Spinner and bind it to a data query.
private static String[] PROJEC£ION = new String[] {
People._ID, People.NAME
};

Spinner s2 = (Spinner) findViewById(R.id.spinner2);


Cursor cur = managedQuery(People.CON£EN£_RI, PROJEC£ION,
null, null);

SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,


android.R.layout.simple_spinner_item, // se a template
// that displays a
// text view
cur, // Give the cursor to the list adatper
new String[] {People.NAME}, // Map the NAME column in the
// people database to...
new int[] {android.R.id.textv}); // £he "textv" view defined in
// the XMð template
adapter2.setDropDownViewResource(android.R.layout.simple_spinn
er_dropdown_item);
s2.setAdapter(adapter2);
26
SimpeCursorAdapter

Spinner
cursor

SQðite

27
m ne façade est un objet qui fournit une interface simplifiée
à un vaste ensemble de code, comme une bibliothèque de
classes.

28
m Android Framework
- Conception orientée objet
- tilise des Design Patterns
- Contient des routines d'exécution
m Systèmes d'exploitation Android:
- Permet d·utiliser trois technologies bien
développées:
Kernel ðinux, Java, XMð
m ðes facilités offertes par les Design Patterns:
- Réutilisation de logiciels
- Maintenance
- Flexibilité
29
3

Vous aimerez peut-être aussi