官术网_书友最值得收藏!

Modelled around business capabilities

A well-designed microservice should be modeled around the business capabilities that are meant to be implemented. Designing software has a component of abstraction and we are used to getting requirements and implementing them, but we must consider how everyone, including us, will understand the solution, now and in the future.

When we need to update, or even modify our microservices, we need to abstract back to the original concept that defined it. In that process, we could realize that something was not as we originally understood, or that our design could not evolve. We may even discover that we have to break the boundaries of our business domain and we don't implement the original capability anymore, or that actually it is implemented across a set of different non-related microservices. We could end up coupling our microservices together, and that is something that we want to avoid.

The domain experts of these business capabilities have a clear understanding of how they operate and how those capabilities are combined and used. Working with them could make our microservices understandable for everyone, including our future selves, and will move our services to become not just an abstraction, but a mapping of the original business capability.

Work as closely as you can with your domain experts, it will always benefit you.

We will deep dive more into this topic in the Domain-Driven Design section of this chapter.

主站蜘蛛池模板: 昆山市| 沅江市| 巴林右旗| 松阳县| 左贡县| 达孜县| 屯留县| 呼和浩特市| 新干县| 永宁县| 武功县| 渝北区| 英德市| 随州市| 临邑县| 郎溪县| 斗六市| 咸丰县| 满洲里市| 江门市| 曲周县| 临夏县| 宣武区| 石阡县| 兴山县| 天津市| 蒙山县| 乾安县| 竹山县| 长阳| 托克逊县| 二连浩特市| 山东| 宁海县| 雅江县| 康乐县| 嘉峪关市| 西藏| 通州区| 旬邑县| 甘肃省|