doi: 10.4304/jsw.6.8.1506-1512
Developing Software Using A Novel Event- Condition-State Pattern Framework: Taking Mobile Input Method System As A Case Study
- School of Computer Science and Technology, Soochow University; Provincial Key Laboratory for Computer Information Processing Technology, Soochow University Suzhou, Jiangsu, China, 215006
Abstract
Design patterns add more reliability, flexibility and reusability to a software system. Taking advantage of design patterns is usually beneficial to software design and makes software development relatively easier. The state pattern proposed by GoF is not a determined design and can hardly be transformed into implementation code directly. It is disable to cope with sophisticated response event either. Hereby we propose a novel event-conditionstate pattern framework, an event-based finite state machine. The framework improves GoF state pattern by resegmenting Context into two classes, one for management and the other for operation interface. Essential components for implementation, such as management, state transferring, and event triggering mechanism, are also taken into consideration in the framework. We use pattern framework to develop a thirty party input method system which has a Windows Mobile system version and a Symbian system version separately. We rewrote Context part related with system interfaces in the two different systems, and encapsulated the part related with internal logic of input method by concrete subclasses, thus avoiding redundant developing work in both systems and providing convenience for later synchronous updating and maintenance of two input methods. With the pattern framework, much effort during software development is saved. The development logic seems simpler and clearer. As a result, the whole development process is simplified.
Keywords
- software architecture
- design pattern
- e
How to Cite
Fei Zhu, Hongjun Diao, and Wei Huang, "Developing Software Using A Novel Event- Condition-State Pattern Framework: Taking Mobile Input Method System As A Case Study," Journal of Software, vol. 6, no. 8, pp. 1506-1512, 2011. https://doi.org/ 10.4304/jsw.6.8.1506-1512
Copyright & License
Copyright © 2011 by the authors. This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).
