Professional Documents
Culture Documents
l’Android Framework
Design Patterns
Framework Android
Framework & Design Pattern
Conclusion
2
Design pattern:
C’est une solution générale réutilisable.
Ce n’est pas une conception finie.
C’est une description ou un modèle qui peut aider
pour résoudre un problème dans de nombreuses
situations.
les design patterns orienté-objet présentent
généralement des relations et des interactions entre les
classes et les objets.
Ils sont beaucoup utilisés dans la conception de
système à base de composant.
3
Cycle de vie du logiciel
4
Le Framework Android
•Est basé sur la conception orientée objet
•Et fait partie du système d’exploitation Android
Android
Operating
Systems
5
Un Framework peut être considérée
comme:
6
Frameworks & Patterns
Les design patterns et les Frameworks sont des
concepts distincts de différentes natures.
Les Frameworks sont de nature physique et sont
des logiciels exécutables utilisés dans la
conception ou à l’exécution.
Les design patterns sont de nature logique ,
représentent les connaissances et l’expérience
acquise avec le logiciel.
7
Catégories des Design Patterns :
Créateurs: s’occuper de l'initialisation et la
configuration des classes et des objets.
Structuraux: s’occuper de l'interface de
découplage et de la mise en œuvre des classes et
des objets.
Comportementaux: Traiter les interactions
dynamiques entre les associations de classes et
des objets
8
Clin d’oeil sur les design patterns :
Diffère la création d'objet à une autre classe Objectives
De création De structure De comportement
Scope Class Factory Method Adapter (class) Interpreter
Template Method
Objet Abstract Factory Adapter (object) Chain of
Builder Bridge Responsibility
Prototype Composite Command
Singleton Decorator Iterator
Facade Mediator
Flyweight Memento
Proxy Observer
Diffère la création d'objet à un autre objet State
Décrit comment assembler des objets Strategy
Visitor
Décrit les algorithmes et contrôle les flux
9
Factory Method Pattern:
La méthode Factory permet de différer l'instanciation des sous-
classes.
10
Exemple Android de Pattern
Factory Method
Activity
View ...
OnCreate()
View= FactoryMethod()
...
MyDraw
GraphicView
return new GraphicView
OnCreate()
11
Android Example of Factory Method Pattern-
code
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 = 10;
int line_y = 50;
canvas.drawColor(Color.WHITE);
paint.setColor(Color.GRAY);
paint.setStrokeWidth(3);
canvas.drawLine(line_x, line_y, line_x+120, line_y, paint);
…
}
}
12
Le Pattern composite:
Le Pattern composite permet de traiter un groupe d'objets comme s’il
était une seule instance d'un objet.
13
View et ViewGroup de l’Android
14
Encore!
15
Observer Pattern:
Un sous-ensemble de publish/subscribe pattern assynchrone
Subject
-observers Observer
+attach(in o : Observer)
+detach(in o : Observer) 1 * +update()
+notify()
{for all o in observers
{ o.update() } }
Observers
Subject
17
Encore!
18
Model-View-Controller Pattern
19
MVC Pattern in Android
Cursor: model
ListView: view
Activity: control
control
SimpleCursorAdapter ListAdapter
20
Model
21
View
22
23
Control
24
Encore!
// Get a Spinner and bind it to an ArrayAdapter that
// references a String array.
Spinner s1 = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter adapter = ArrayAdapter.createFromResource(
this, R.array.colors,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simpl
e_spinner_dropdown_item);
s1.setAdapter(adapter);
ArrayAdapter
Spinner
XML R
25
// Load a Spinner and bind it to a data query.
private static String[] PROJECTION = new String[] {
People._ID, People.NAME
};
Spinner
cursor
SQLite
27
Façade Pattern:
Une façade est un objet qui fournit une interface simplifiée à un
vaste ensemble de code, comme une bibliothèque de classes.
28
Conclusion:
Android Framework
Conception orientée objet
Utilise des Design Patterns
Contient des routines d'exécution
Systèmes d'exploitation Android:
Permet d’utiliser trois technologies bien développées:
Kernel Linux, Java, XML
Les facilités offertes par les Design Patterns:
- Réutilisation de logiciels
- Maintenance
- Flexibilité
29
Merci de votre attention!
30