Despite decades of engineering and scientific research efforts, separation of concerns in software development remains not fully achieved. The challenge has been to avoid the crosscutting of concerns phenomenon, which has no apparent complete solution. In this paper, we show that business-domain coding plays an even larger role in this challenge. We then introduce a new approach called \emph{Metadata Interpretation Driven Development} (MIDD), which suggests a way to enhance the current way of realizing separation of concerns by eliminating the need to code functional concerns. We propose to code non-functional concerns as metadata interpreters. This interpretation occurs at run-time and is possible because it assumes the existence of such metadata in artefacts created in previous stages of the process, such as the modelling phase. We show how this can increase the (re)use of the constructs. Furthermore, we show that a single interpreter, due to its semantic disconnection from the domain, can simultaneously serve different business domains with no concerns regarding the need to rewrite or refactor code. Although high-reuse software construction is considered a relatively mature field, changes in the software services scenario demand constant evolution of the actual solutions. The emergence of new software architectures, such as serverless computing, reinforces the need to rethink software construction. This approach is presented as a response to this need.
翻译:尽管进行了数十年的工程和科学研究努力,软件开发方面的关注问题仍未完全分离,但软件开发方面的关注问题仍未完全实现。挑战在于避免关切的交叉现象,这显然没有完全的解决办法。在本文件中,我们表明企业的维护编码在这一挑战中发挥了更大的作用。然后我们引入了一种叫作\emph{Metatadata解释驱动开发}(MIDDD)的新方法,它表明一种通过消除对功能关切的编码需要,加强当前将关注问题分开的方法。我们提议作为元数据解释员对非功能关切进行编码。这种解释发生在运行时,而且有可能发生,因为它假定在工艺的前几个阶段(例如建模阶段)产生的工艺品中存在这种元数据。我们展示了这如何能够增加这些建筑的(再)用途。此外,我们表明由于一个单一的翻译者与域的语义脱节,因此可以同时为不同的业务领域提供服务,而不必担心需要重写或重写功能代码。虽然高用途软件的构建被认为是一个相对成熟的领域,但软件服务设想中的变化要求不断演变这种实际解决方案,例如建模阶段。我们展示了新的软件结构,因此更需要重新思考新的软件结构。