180 likes | 201 Views
Explore the integration of design patterns in a planner-based courseware system to enhance modularity, flexibility, and reusability, with insights on Composite, State, Strategy, and Iterator patterns.
E N D
Using Design Patterns in the Development of a Planner-Based Courseware System 作者:Khalid S. Al-Tahat, M.T. Sembok, and Sufian Bin Idris 出處:IEEE Region 10 International Conference on Electrical and Electronic Technology, Aug. 19-22, 2001. Reporter:林鴻志 2006/05/30
Outline • Introduction • A Planner-Based Courseware System • Using Design Pattern In Our Courseware System • Lessons Learned • Conclusion
Introduction • Reuse can be applied at many different levels. • How to design a reusable and flexible architecture is important, because: easy to extend, maintain , and evolve. • The first pattern conference – Pattern Language of Program Design (PLOP) in 1994 • The first design pattern book”Design Patterns: Elements of Reusable Object-Oriented Software” in 1995.
A Planner-Based Courseware System • The computer made a dynamic force in education by providing a new and interactive means of overcoming time and distance problem. • The computer is the tool that can give us teaching and learning and it linked teachers ,homes,libraries and other people all of the world.
A Planner-Based Courseware System(cont.) • Multimedia technologies can stimulating and interactive to learners and can help teachers improve the quality of instruction. • Multimedia technologies can be a catalyst. Learnerspassive → active
A Planner-Based Courseware System(cont.) • The courseware system is built up of 4 subsystem 1.The Presentation subsystem. 2.The User subsystem. 3.The Assessor subsystem. 4.The Planner subsystem.
Using Design Pattern In Our Courseware System We use 4 pattern in this courseware system. • Composite pattern • State pattern • Strategy pattern • Iterator pattern
Using Design Pattern In Our Courseware System(cont.) • Composite Pattern
Using Design Pattern In Our Courseware System(cont.) The Composite pattern has the following consequences: • The Composite pattern makes the client code simple. • The composite make it easy to add new kind of Tile . • The disadvantage is hard to restrict the components of the SequanceOfFrames object
Using Design Pattern In Our Courseware System(cont.) • State Pattern
Using Design Pattern In Our Courseware System(cont.) The State pattern has the following consequences: • The State pattern easy to modify the existing states and add. • The State pattern reduces the number of case statements; thus simplifying client code.
Using Design Pattern In Our Courseware System(cont.) • Strategy Pattern
Using Design Pattern In Our Courseware System(cont.) Hard-wiring all such algorithm is not method for several reasons: • If the planner include session generator code, it became complex. • We do not want to support all the session generator algorithm if we do not use all of them • It is difficult to add new algorithm.
Using Design Pattern In Our Courseware System(cont.) The Strategy pattern has the following consequences: • The Strategy pattern simplifies Planner objects. • The Strategy pattern offers an alternative to conditional statement for selecting desire behavior. • One disadvantage is that increase the number of objects in the system.
Using Design Pattern In Our Courseware System(cont.) • Iterator Pattern
Using Design Pattern In Our Courseware System(cont.) The Iterator pattern has the following consequences: • The Iterator pattern makes it easier to add new functionalities . • The Iterator pattern simplifies the aggregate interface. • The Iterator pattern make it possible to perform more than one traversal at the same time.
Lessons Learned • We could see that the design patterns we have applied increase the modularity, flexibility, and the reusability of our application. • Structure pattern (Composite pattern) made system more modular;Behavioral patterns(State and Iterator patterns) made system more reusable. • Different design patterns have different effects on reusability(Strategy and Delegation pattern have the same result).
Conclusion • It described some uses of design pattern in the design of a multimedia courseware system. • The courseware system became more modular, more flexible, and more reusable after using Design pattern.