当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
An Extensible Compiler for Implementing Software Design Patterns as Concise Language Constructs
International Journal of Software Engineering and Knowledge Engineering ( IF 0.9 ) Pub Date : 2021-07-23 , DOI: 10.1142/s0218194021500327
Taher Ahmed Ghaleb 1 , Khalid Aljasser 2 , Musab A. Alturki 3, 4
Affiliation  

Design patterns are generic solutions to common programming problems. Design patterns represent a typical example of design reuse. However, implementing design patterns can lead to several problems, such as programming overhead and traceability. Existing research introduced several approaches to alleviate the implementation issues of design patterns. Nevertheless, existing approaches pose different implementation restrictions and require programmers to be aware of how design patterns should be implemented. Such approaches make the source code more prone to faults and defects. In addition, existing design pattern implementation approaches limit programmers to apply specific scenarios of design patterns (e.g. class-level), while other approaches require scattering implementation code snippets throughout the program. Such restrictions negatively impact understanding, tracing, or reusing design patterns. In this paper, we propose a novel approach to support the implementation of software design patterns as an extensible Java compiler. Our approach allows developers to use concise, easy-to-use language constructs to apply design patterns in their code. In addition, our approach allows the application of design patterns in different scenarios. We illustrate our approach using three commonly used design patterns, namely Singleton, Observer and Decorator. We show, through illustrative examples, how our design pattern constructs can significantly simplify implementing design patterns in a flexible, reusable and traceable manner. Moreover, our design pattern constructs allow class-level and instance-level implementations of design patterns.

中文翻译:

将软件设计模式实现为简洁语言结构的可扩展编译器

设计模式是常见编程问题的通用解决方案。设计模式代表了设计重用的典型示例。但是,实现设计模式可能会导致一些问题,例如编程开销和可追溯性。现有研究介绍了几种方法来缓解设计模式的实现问题。然而,现有的方法带来了不同的实现限制,并要求程序员了解应该如何实现设计模式。这种方法使源代码更容易出现错误和缺陷。此外,现有的设计模式实现方法限制了程序员应用设计模式的特定场景(例如类级),而其他方法需要在整个程序中分散实现代码片段。这些限制会对理解、跟踪或重用设计模式产生负面影响。在本文中,我们提出了一种新方法来支持将软件设计模式实现为可扩展的 Java 编译器。我们的方法允许开发人员使用简洁、易于使用的语言结构在他们的代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。或重用设计模式。在本文中,我们提出了一种新方法来支持将软件设计模式实现为可扩展的 Java 编译器。我们的方法允许开发人员使用简洁、易于使用的语言结构在他们的代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。或重用设计模式。在本文中,我们提出了一种新方法来支持将软件设计模式实现为可扩展的 Java 编译器。我们的方法允许开发人员使用简洁、易于使用的语言结构在他们的代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。我们提出了一种新颖的方法来支持将软件设计模式实现为可扩展的 Java 编译器。我们的方法允许开发人员使用简洁、易于使用的语言结构在他们的代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。我们提出了一种新颖的方法来支持将软件设计模式实现为可扩展的 Java 编译器。我们的方法允许开发人员使用简洁、易于使用的语言结构在他们的代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。易于使用的语言结构,可在其代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。易于使用的语言结构,可在其代码中应用设计模式。此外,我们的方法允许在不同场景中应用设计模式。我们使用三种常用的设计模式来说明我们的方法,即 Singleton、Observer 和 Decorator。我们通过说明性示例展示了我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。通过说明性示例,我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。通过说明性示例,我们的设计模式构造如何以灵活、可重用和可跟踪的方式显着简化设计模式的实现。此外,我们的设计模式构造允许设计模式的类级和实例级实现。
更新日期:2021-07-23
down
wechat
bug