Design pattern-oriented Software subsystems
Cornet, Louis, Mathieu, Benoît · Repository of the University of Namur · 2003
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 8,728 papers for “Software design pattern”
Cornet, Louis, Mathieu, Benoît · Repository of the University of Namur · 2003
Cited by 0
Natsuko Noda, Tomoji Kishi · 2002
Most design patterns help to make systems flexible and extensible. They have potential effects to support evolutionary software development. Ordinary implementation of design patterns, however, is not always enough for evolution. It is based on the inheritance mechanism. This makes application classes quite dependent on patterns and reduces reusability of application classes. In addition, it is difficult to exchange patterns once a system is designed. In this paper, we introduce a way to implement design patterns more flexibly, applying the concept of separation of concerns. It is realized by separating design patterns, as explicit concerns, from the application core that is responsible for the primary functionalities. The new implementation technologies that support the advanced separation of concerns such as Hyper/J™ help with coding this kind of design. Using an example, we show that it is possible to exchange patterns to support different behavior without any change on the application core. Our approach has an advantage that reusability of both design patterns and the application core is improved.
Cited by 13
Naveen Chikkanayakanahalli Ramachandrappa · International Journal of Computer Trends and Technology · 2024
Model-View-ViewModel (MVVM) is a software architectural pattern particularly well-suited for applications with complex user interfaces, such as desktop and mobile applications. MVVM is often implemented in WPF (Windows Presentation Foundation) applications using C#. This article explores the MVVM pattern in detail, covering its concepts, benefits, and implementation in C# with practical examples. It also discusses the challenges associated with MVVM, the results of implementing MVVM, and best practices for building maintainable and scalable applications.
Cited by 0Open access
Najam Nazar, Aldeida Aleti, Yaokun Zheng · Journal of Systems and Software · 2021
Cited by 1Open access
Nuttapon Sanyawong · NRCT Data Center · 2014
A software design pattern provides a proven solution to a problem that commonly occurs in software design. It provides a solution for solving a problem and can be applied in many different situations. Design patterns allow designers to reuse successful design. Selecting an appropriate design pattern is however a difficult task, especially for novice designers. In order to apply a pattern to a given problem context, a designer necessarily understand not only a problem domain but also the usage and structure of the pattern. To facilitate pattern selection, we construct a pattern usage hierarchy, based on which a problem-driven framework for recommending design patterns is developed. The characteristics of tasks to be performed in a given problem and examples of pattern usage are used for retrieving user intention and for matching the problem with an appropriate pattern.A preliminary evaluation of the pattern usage hierarchy reveals that we should provide a mechanism to facilitate pattern selection based on the hierarchy. A text classification approach is applied for suggesting the first-level category to users. Even when a first-level category is determined, it is still often difficult to consider which design pattern should be applied to a given problem. The features of pattern usage description are constructed and represented in terms of key-phrases. The key-phrases can reduce the difficulty of pattern selection of predetermined categories. Groups of key-phrases are constructed from their characteristics to improve the simplicity of key-phrase selection. Cosine similarity are used for calculating the recommended patterns. The evaluation results show a significant improvement of pattern selection process using a key-phrase approach.
Cited by 0Open access
Mayank Kumar, Manish Kumar · RESEARCH REVIEW International Journal of Multidisciplinary · 2018
Pattern design and software both are the hottest topics of computer science.A software design pattern is an improved, repeatable answer for a normally happening issue in software engineering. It's anything but a completed design, class or library that can be connected to your code legitimately. Or maybe, it is a format for tackling an issue that can be utilized in a wide range of circumstances.In this paper author discussed about pattern design and its applicability through different kinds of patterns like structural, behavioral etc.
Cited by 1Open access
Lance Tokuda, Don Batory · 1995
te Method: Template Method uses inheritance to implement some part of an algorithm. . Walker: Walker provides an extra level of abstraction on aggregate structures. It is used to implement methods on aggregates eliminating the need to define the same methods for all aggregates. References
Cited by 0
Don Batory, Lance Tokuda · 1995
Software evolution is often driven by the need to extend existing software. Design express preferred ways to extend object-oriented software and provide desirable target states for software designs. This paper demonstrates that some design patterns can be expressed as a series of parameterized program transformations applied to a plausible initial software state. A software tool is proposed that uses primitive transformations to allow users to evolve object-oriented applications by visually altering design diagrams. AVAILABLE IN ELECTRONIC FORMAT ONLY.
Cited by 40
R. A. Valiev, Sh.Sh. Khuzyatov · 2016
The method of pattern design of industrial control system (ICS) software has been developed. As objects of lower hierarchy level, the elements of automation were selected. The unified algorithms of data processing and computing control actions were applied for these elements. The data types, data storage and functionality were defined for these objects. In the software of human-machine interface and controller, the correlated structure types were applied. The data blocks in the form of one-dimensional array user-defined type were used for storage. The correspondence of the structure tag to element of array in data block was defined. The data exchange over control system network is independent on the number of sensors and actuators. The template projects for development of software with Siemens hardware and software were created on the basis of proposed method. The structure of the template projects makes it easy to adapt them to the requirements of a particular control system. The template projects greatly reduce time needed for ICS software development and require less programming skills. A universal approach of the proposed method allows using the pattern-design on the automation of various industrial processes.
Cited by 7
D. Janaki Ram, K. N. Anantha Raman, K. N. Guruprasad · ACM SIGSOFT Software Engineering Notes · 1997
Design patterns can be considered as elements of complex software systems. Crafting these software systems using design patterns calls for a suitable design methodology or technique. Existing design methodologies do not serve this purpose well. This paper proposes a technique which helps in developing software systems usign design patterns.
Cited by 9
Francesca Arcelli Fontana, Luca Christina · 2007
Software system evolutions can be supported through different techniques and by exploiting different tools. We concentrate our attention on the advantages we gain through design recovery, and in particular on sub-component recovery, which helps to detect logical components of the system and their relationships. Components can be of various kinds: an important category is that of design patterns. Several approaches have been proposed to automate design pattern detection. In this paper we describe our approach to design pattern detection using supervised classification and data mining techniques based on sub-components, and summarize the results we obtained on behavioral design patterns.
Cited by 1
Salman Khwaja, Mohammad Alshayeb · ACM Computing Surveys · 2016
A design pattern is a well-defined solution to a recurrent problem. Over the years, the number of patterns and domains of design patterns have expanded, as the patterns are the experiences of the experts of the domain captured in a higher-level abstraction. This led others to work on languages for design patterns to systematically document abstraction detailed in the design pattern rather than capture algorithms and data. These design-pattern specification languages come in different flavors, targeting different aspects of design patterns. Some design-pattern specification languages tried to capture the description of the design pattern in graphical or textual format, others tried to discover design patterns in code or design diagrams, and still other design-pattern specification languages have other objectives. However, so far, no effort has been made to compare these design-pattern specification languages and identify their strengths and weaknesses. This article provides a survey and a comparison between existing design-pattern specification languages using a design-pattern specification language evaluation framework. Analysis is done by grouping the design-pattern specification languages into different categories. In addition, a brief description is provided regarding the tools available for the design-pattern specification languages. Finally, we identify some open research issues that still need to be resolved.
Cited by 20
Francesca Arcelli Fontana, Luca Cristina · 2007
Software system evolutions can be supported through different techniques and by exploiting different tools. We concentrate our attention on the advantages we gain through design recovery, and in particular on sub-component recovery, which helps to detect logical components of the system and their relationships. Components can be of various kinds: an important category is that of design patterns. Several approaches have been proposed to automate design pattern detection. In this paper we describe our approach to design pattern detection using supervised classification and data mining techniques based on sub-components, and summarize the results we obtained on behavioral design patterns.
Cited by 17
Valiev R., Khuzyatov S. · zvestiya of the National Academy of Sciences of Belarus (National Academy of Sciences of Belarus) · 2017
© 2016 IEEE.The method of pattern design of industrial control system (ICS) software has been developed. As objects of lower hierarchy level, the elements of automation were selected. The unified algorithms of data processing and computing control actions were applied for these elements. The data types, data storage and functionality were defined for these objects. In the software of human-machine interface and controller, the correlated structure types were applied. The data blocks in the form of one-dimensional array user-defined type were used for storage. The correspondence of the structure tag to element of array in data block was defined. The data exchange over control system network is independent on the number of sensors and actuators. The template projects for development of software with Siemens hardware and software were created on the basis of proposed method. The structure of the template projects makes it easy to adapt them to the requirements of a particular control system. The template projects greatly reduce time needed for ICS software development and require less programming skills. A universal approach of the proposed method allows using the pattern-design on the automation of various industrial processes.
Cited by 0
Kurt Keutzer, Berna L. Massingill, Timothy G. Mattson et al. · 2010
Parallel programming is stuck. To make progress, we need to step back and understand the software people wish to engineer. We do this with a design pattern language. This paper provides background for a lively discussion of this pattern language. We present the context for the problem, the layers in the design pattern language, and descriptions of the patterns themselves.
Cited by 89
Niranjan R Chougala, K. S. Shreedhara · 2018
Cited by 0
G. Priyalakshmi, R. Nadarajan, Joseph W. Yoder et al. · Advances in intelligent systems and computing · 2019
Cited by 0
Jamal Said · 2003
Cited by 2
Ashish Kumar Dwivedi, Anand Tirkey, Santanu Kumar Rath · Frontiers of Computer Science · 2018
Cited by 31
Wijerathna, Laksri · Figshare · 2021
The work presented in this thesis is a step towards automated design pattern knowledge management. The approach presented in this thesis provides a taxonomy to improve design pattern knowledge exploration and provides a pathway to future research on knowledge expansion. Furthermore, this thesis presents a novel mining approach for design pattern knowledge mining followed by a qualitative and quantitative analysis of the design pattern knowledge. Moreover, this thesis presents a human and machine-interpretable knowledge structure for easy design pattern knowledge retrieval and dissemination followed by an automated recommendation model to design pattern recommendation for a given text context.
Cited by 0Open access