Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาเขียน code กับ Spring Modulith กันบ้าง

$
0
0

ต่อจากที่แนะนำ Spring Modulith ไปแล้ว
มาลองลงมือเขียน code ตามแนวทางนี้หน่อยว่าเป็นอย่างไร
มีเครื่องมืออะไรที่น่าสนใจบ้าง

ขั้นตอนที่ 1 สร้าง Project ด้วย Apache Maven Project

โดยทำการเพิ่ม library ของ Spring Modulith ในไฟล์ pom.xml ดังนี้

[gist id="f925433ef3f7fc3c819bcc53cd61b32e" file="pom.xml"]

ขั้นตอนที่ 2 ทำการออกแบบสิ่งที่ต้องการ

จะสร้างมา 3 module โดยที่ Module 1 เรียกใช้งาน Module 2 และ 3
โดยแยก package ตามแต่ละ module ไป
ใน Spring Modulith จะทำการ injection ผ่าน constructor ดังนี้

[gist id="f925433ef3f7fc3c819bcc53cd61b32e" file="Module1.java"]

ขั้นตอนที่ 3 ทำการเขียน test สำหรับ Spring Modulith

[gist id="f925433ef3f7fc3c819bcc53cd61b32e" file="ModulithTests.java"]

จากนั้นทำการ run test ผลที่ได้ตามมา
คือ UML diagram ของทั้ง project และแยกแต่ละ module
โดยสามารถเปิดดูได้จาก PlantUML

Diagram ของแต่ละ Module

หรือสร้าง diagram แบบอื่น ๆ ได้อีก ดูที่ Document
เป็นสิ่งที่ดีมาก ๆ ช่วยให้เราสร้างเอกสารของระบบงานแบบ up-to-date อยู่ตลอดเวลา

ในแต่ละ module สามารถมี internal class หรือใช้เฉพาะภายใน module
สามารถสร้าง class/interface ใน package ย่อยชื่อว่า internal

ขั้นตอนที่ 4 สามารถดู tracing ของการเรียกระหว่าง module ผ่าน Zipkin ได้ด้วย

ต้องทำการเพิ่ม library ในไฟล์ pom.xml
ประกอบไปด้วย

  • Zipkin
  • Tracing
  • Actuator
  • Observability

ดังนี้

[gist id="f925433ef3f7fc3c819bcc53cd61b32e" file="pom2.xml"]

จากนั้นทำการ run และดูผลใน Zipkin จะเป็นดังนี้

เพียงเท่านี้ก็เริ่มใช้งานแบบง่าย ๆ ได้แล้ว
ลองเล่นกันดูครับ
ขอให้สนุกกับการ coding !!

ตัวอย่างของ source code


Viewing all articles
Browse latest Browse all 1997

Trending Articles