20212021 Asian Conference on Innovation in Technology (ASIANCON)Requires access

PoxiDP: An experimental Policy based Flexible Design Patterns Library

Karan Panjabi, Lamya Bhasin, N. L. Murali Krishna, Neelam Sanjeev Kumar

Open publisher page 0 citations

Abstract

Design Patterns are design solutions to commonly recurring problems in Computer Science. When implemented, a design pattern is expected to have more than one coding solution for a given problem. This leads to a load of boilerplate code being written every time a pattern needs to be written. We have explored a number of mechanisms such as metaprogramming, reflection, and policy-based paradigms to develop flexible design pattern libraries for different languages including C++, Java, Python, and Go. The libraries follow a plug-and-play model with ready-to-use APIs. We have implemented parameterized design pattern APIs in different categories such as creational, structural, and behavioral. We have also added some implementations involving concurrency-related concepts to patterns wherever applicable. The implementations of the patterns are adjusted according to the design philosophies of the given languages.

About this research paper

What this paper is about

Design Patterns are design solutions to commonly recurring problems in Computer Science. When implemented, a design pattern is expected to have more than one coding solution for a given problem. This leads to a load of boilerplate code being written every time a pattern needs to be written. We have explored a number of mechanisms such as metaprogramming, reflection, and policy-based paradigms to develop flexible design pattern libraries for different languages including C++, Java, Python, and Go. The libraries follow a plug-and-play model with ready-to-use APIs. We have implemented parameterized design pattern APIs in different categories such as creational, structural, and behavioral. We have also added some implementations involving concurrency-related concepts to patterns wherever applicable. The implementations of the patterns are adjusted according to the design philosophies of the given languages.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Design Patterns are design solutions to commonly recurring problems in Computer Science. When implemented, a design pattern is expected to have more than one coding solution for a given problem. This leads to a load of boilerplate code being written every time a pattern needs to be written. We have explored a number of mechanisms such as metaprogramming, reflection, and policy-based paradigms to develop flexible design pattern libraries for different languages including C++, Java, Python, and Go. The libraries follow a plug-and-play model with ready-to-use APIs. We have implemented parameterized design pattern APIs in different categories such as creational, structural, and behavioral. We have also added some implementations involving concurrency-related concepts to patterns wherever applicable. The implementations of the patterns are adjusted according to the design philosophies of the given languages.

Key concepts: Software design pattern, Computer science, Programming language, Design pattern, Metaprogramming, Implementation, Python (programming language), Generic programming

Related papers

Back to paper searchBrowse research topicsOriginal source
PoxiDP: An experimental Policy based Flexible Design Patterns Library — Research Paper | ScholarLens