Download presentation
Presentation is loading. Please wait.
Published byRosamund Horton Modified over 8 years ago
1
1 Component Technology Johannes Kepler University Linz, Austria http://www.jku.at Deepak Dhungana dhungana@ase.jku.at Institute for System Engineering and Automation Thomas Wuerthinger wuerthinger@ssw.jku.at Institute for System Software
2
2 Goals ● Benefits of modular programming ● Practical experience (Eclipse and NetBeans) ● Overview of existing modular systems and techniques ● Project
3
3 Don't reinvent the wheel!
4
4 Learning Curve Result s Effort Reuse Reinve nt
5
5 Object Oriented Spaghetti Code ≈ O(n 2 ) dependen cies
6
6 Module System ≈ O(n) dependen cies
7
7 Tracking impacts
8
8 Information Hiding Public API Module B Implementation Module A
9
9 Limits are your friend! Restrict dependencies Small public API
10
10 Clean Structure Result s Effort Quick & Dirty Clean & Modul ar
11
11 Distributed Development Public API Implementation Module User Module Develope r seespublish es creates
12
12 Mechanisms in Java Access modifiers only at class level - Custom class loaders! JDK7: New module keyword
13
13 GOTO vs IF, WHILE, … = unrestricted OOP vs modular programming ?
14
14
15
15 NetBeans vs Eclipse
16
16 Application Architecture Eclipse/NetBeans Platform Swing / JDK Java VM IDE
17
17 Detailed Architecture Swing / JDK Java VM Application Platform IDE ● Standalone: Deployment including required platform / IDE modules ● Plugin: Deployment only with user-defined modules
18
18 Timeline 13.3.18.6.Octobe r Lecture s Project Presentation of Project Ideas Presentation of Results
19
19 Lecture ● OSGi ● Eclipse ● Netbeans ● Other component-oriented systems: Mozilla, Visual Studio, IntelliJ, Plux.NET ● API Design
20
20 Recommended Books ● Practical API Design: Confessions of a Java Framework Architect (Jaroslav Tulach) ● Contributing to Eclipse: Principles, Patterns, and Plug-Ins: Principles, Patterns and Plugins ● (Erich Gamma, Kent Beck) ● Rich Client Programming, Plugging into the NetbeansTM Platform (Tim Boudreau, Jaroslav Tulach, Geertjan Wielenga)
21
21 Project Eclipse or NetBeans Plugin Teams of 2+ Binary and documentation on website
22
22 Image Sources "Stone Wheel" - http://www.flickr.com/photos/bbalaji/2443820505/ "Spaghetti" - http://www.freedigitalphotos.net/ "Module System" - http://www.freedigitalphotos.net/ "Sensor box done!" - http://www.flickr.com/photos/amagill/2404453405/ "Solar Eclipse 1" - http://www.flickr.com/photos/aseph/3227962585/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.