A software pattern is a reusable solution to address a commonly occurring problem within a given context when designing software. Using patterns is a common practice for software architects to ensure software quality. Many pattern collections have been proposed for a large number of application domains. However, because of the technology's recentness, there are only a few available collections with a lack of extensive testing in industrial blockchain applications. It is also difficult for software architects to adequately apply blockchain patterns in their applications, as it requires deep knowledge of blockchain technology. Through a systematic literature review, this paper has identified 120 unique blockchain-related patterns and proposes a pattern taxonomy composed of multiple categories, built from the extracted pattern collection. The purpose of this collection is to map, classify, and describe all available patterns across the literature to help readers make adequate decisions regarding blockchain pattern selection. This study also shows potential applications of those patterns and identifies the relationships between blockchain patterns and other non-blockchain software patterns.
翻译:软件模式是一种可重复使用的解决方案,用于解决软件设计过程中在特定情况下常见的问题。使用模式是软件设计师确保软件质量的常见做法。许多模式收集是为大量应用领域提出的。然而,由于技术的近期性,只有少数现有收藏,工业链链应用缺乏广泛的测试。软件设计师也难以在其应用中适当应用块链模式,因为这需要深入了解块链技术。通过系统化文献审查,本文件确定了120个独特的块链相关模式,并提出了由多种类别组成的模式分类法,由提取的样板收集法组成。这一收集法的目的是绘制、分类和描述各种文献中的所有可用模式,以帮助读者就块链模式的选择作出适当决定。这项研究还展示了这些模式的潜在应用,并确定了块链模式与其他非链条软件模式之间的关系。