Software patterns are used in many applications and domains. They reduce time, effort and cost as they increase reliability, reusability and testability when used for developing software systems. Although they have been criticized for their high level of abstraction, design patterns are the most commonplace patterns used. Furthermore, micro patterns are introduced in the literature. They have a lower level of abstraction and deal with Java software programs at the level of a class while design patterns describe the system design in general. In this paper, I am introducing a lower level of abstraction for Java patterns. Nano patterns are a group of reusable methods that are frequently used in Java software development. Sixteen nano patterns are defined into five groups, according to their privileges, nature and functionality. Additionally, I provide experimentation and initial results and conclude that nano patterns reduce more time, effort and cost for a Java-based software project.
[1]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[2]
Ellen Agerbo,et al.
How to preserve the benefits of design patterns
,
1998,
OOPSLA '98.
[3]
Stuart Kent,et al.
Precise Visual Specification of Design Patterns
,
1998,
ECOOP.
[4]
Kent L. Beck,et al.
Smalltalk best practice patterns
,
1996
.
[5]
Kang Zhang,et al.
Visualizing Design Patterns in Their Applications and Compositions
,
2007,
IEEE Transactions on Software Engineering.
[6]
Zhang Kang,et al.
Visualizing Design Patterns in Their Applications and Compositions
,
2007
.
[7]
Itay Maman,et al.
Micro patterns in Java code
,
2005,
OOPSLA '05.