0
S.Ducasse 1
QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.
Stéphane Ducasse
Stephane.Duca...
S.Ducasse 2
License: CC-Attribution-ShareAlike 2.0
http://creativecommons.org/licenses/by-sa/2.0/
S.Ducasse 3
Frameworks
• What is it?
• Principles
• vs. Libraries
S.Ducasse 4
Frameworks vs. Libraries
• Libraries
• You call them
• Callback to extend them
• Framework
• Hollywood princip...
S.Ducasse 5
Frameworks
• A set of collaborating classes that define a context and
are reusable by extension in different a...
S.Ducasse 6
Library vs. Framework
Classes instantiated by the client
Framework instantiated classes,
extended by inheritan...
S.Ducasse 7
Inheritance as Parameterization
• Subclass customizes hook methods by implementing
(abstract) operations in th...
S.Ducasse 8
Methods are Unit of Reuse
self sends are plans for reuse
can be abstract or not
S.Ducasse 9
You remember self…
• self is dynamic
• self acts as a hook
A
foo
bar
^ 10
B
foo
self foo
^ 50
S.Ducasse 10
You remember super…
• super is static
• super forbid extension
A
foo
bar
^ 10
B
x
super X
^ 50
S.Ducasse 11
On Frameworks...
• Frameworks design
• Need at least 3 applications to support the
generalization
• http://st...
Upcoming SlideShare
Loading in...5
×

Stoop ed-frameworks

264

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
264
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Stoop ed-frameworks"

  1. 1. S.Ducasse 1 QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture. Stéphane Ducasse Stephane.Ducasse@univ-savoie.fr http://www.listic.univ-savoie.fr/~ducasse/ A Word about Frameworks Stéphane Ducasse --- 2005
  2. 2. S.Ducasse 2 License: CC-Attribution-ShareAlike 2.0 http://creativecommons.org/licenses/by-sa/2.0/
  3. 3. S.Ducasse 3 Frameworks • What is it? • Principles • vs. Libraries
  4. 4. S.Ducasse 4 Frameworks vs. Libraries • Libraries • You call them • Callback to extend them • Framework • Hollywood principle: Don’t call me I will call you • GreyHound principle: Let’s drive
  5. 5. S.Ducasse 5 Frameworks • A set of collaborating classes that define a context and are reusable by extension in different applications • A framework is a reusable design expressed as a set of abstract classes and the way their instances colla borate. By definition, a framework is an object-orien ted design. It doesn't have to be implemented in an object-oriented language, though it usually is.[Johnson] • Large-scale reuse of object-oriented libraries requires frameworks.The framework provides a context for the components in the library to be reused. [Johnson] • A framework often defines the architecture of a set of applications.
  6. 6. S.Ducasse 6 Library vs. Framework Classes instantiated by the client Framework instantiated classes, extended by inheritance Clients invoke library functions Framework calls the client functions No predefined flow, predefined interaction, default behavior Predefined flow, interaction and default behavior
  7. 7. S.Ducasse 7 Inheritance as Parameterization • Subclass customizes hook methods by implementing (abstract) operations in the context of template method • Any method acts as a parameter of the context • Methods are unit of reuse • Abstract class -- one that must be customized before it can be used
  8. 8. S.Ducasse 8 Methods are Unit of Reuse self sends are plans for reuse can be abstract or not
  9. 9. S.Ducasse 9 You remember self… • self is dynamic • self acts as a hook A foo bar ^ 10 B foo self foo ^ 50
  10. 10. S.Ducasse 10 You remember super… • super is static • super forbid extension A foo bar ^ 10 B x super X ^ 50
  11. 11. S.Ducasse 11 On Frameworks... • Frameworks design • Need at least 3 applications to support the generalization • http://st-www.cs.uiuc.edu/users/droberts/evolve.html • Smile if somebody tell that they start implementing a framework • Framework often rely on whitebox abstractions: ie extended by inheritance • Others are blackboxes framework: ie extended by composition • A framework can use design patterns
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×