Clean Architecture#101 - 개념 โดย ลุง bob

4935 단어

จาก จาก ใช้ ใช้ N-Tier Architecture มา นาน นาน และ และ ทำ ให้ ให้ รู้ ว่า มี มี ปัญหา มากมาย มากมาย การ การ ทำ 단위 테스트 เนื่อง จาก จาก การ ที่ โครง สร้าง สร้าง ที่ ถูก ยึก ติด (종속성) มาก เกิน ไป ไป



ดัง ดัง ดัง จุด นั้น ที่ ที่ ผม ต้อง เปลี่ยน เปลี่ยน 건축 เพื่อ ที่ แยก แยก หรือ แบ่ง แบ่ง สัมพันธ์ ออก จาก กัน อย่าง ชัดเจน ชัดเจน ชัดเจน
อพื่อให้ระบบเป็นอิสระ (독립) จากทุกสิ่
เพราะ 비즈니스 มันช่างอ่อนแอ เสียนี้กระไร

อ่านไปสักพักก็พอเข้าใจโดยสังเขป
แบ่งข้อกำหนดกฎเกณฑ์เป็น 3 ส่วนใหญ่
(ผม ผม ที่ เข้าใจ นะ นะ อาจ จะ จะ มี ถูก ถูก ผิด บ้าง แต้ ผิด ผิด น่า จะ เยอะ เยอะ -_- ")))


1 - เรื่องของการเป็นชั้นการทำงาน (레이어)



ในแนวคิด (개념) ของลุงได้แบ่งแต่ละชั4

개체 - ชั้นในสุด รงลตรงๆก็วัตถุ ถ้หจริจ

사용 사례 - ถัด ชั้น ออก ออก มา เป็น ส่วน ที่ ที่ จะ จะ เขียน ดำเนิน การ การ การ (구현) ทั้งหมด ใน ใน ระบบ ระบบ ง่าย ๆ ก็ จัด การ 엔티티 ให้ ทำ ตาม ตาม 비즈 논리 ที่ เรา กำหนด กำหนด

인터페이스 어댑터 - ap ออก ออก มา เป็น ส่วน นี้ นี้ แหละ ที่ ที่ จะ เป็น เป็น การ เขียน เชื่อม กับ 프레임 워크, 라이브러리, DB อย่าง จริงจัง จริงจัง

외부 기관 - ชั้นนอกสุดเป็นก็ 프레임워크, 라이브러리, db, Everything Gengerbell นั้นแหละ

        |-----------------------|         
        | |-------------------| |      
        | | |---------------| | |     
        | | | |-----------| | | |
        | | | |  Entitiy  | | | | 
        | | | |     ^     | | | |   
        | | | |-----|-----| | | |  
        | | |       |       | | |
        | | |    Use Case   | | |     
        | | |       ^       | | |  
        | | |*******|*******| | |  
        | |         |         | |          
        | | Interface Adapter | |   
        | |         ^         | |  
        | |---------|---------| |
        |           |           |
        |           |           |
        |    External Agency    |
        |                       |
><รูปปลากรอบ : The Clean Architecture : Layer>

โดย โดย โดย บอก ลุง ว่า ไม่ ไม่ จำเป็น ว่า ว่า จะ มาก กว่า หรือ น้อย น้อย กว่า เสมอ ไป ไป
แต่ แต่ แต่ ต้อง จะ กฏ ของ ของ การ ยึด ติด เสมอ เสมอ เสมอ (종속성 규칙) คือ การ การ พิง พา โค้ด จะ ต้อง ชี้ จาก ข้าง นอก เข้า เข้า สู่ ข้าง ใน เสมอ เสมอ เสมอ
ก็ ก็ ก็ ข้าง คือ รู้จัก ข้าง ข้าง ใน ข้าง ข้าง ใน ต้อง ไม่ รู้จัก ข้าง ข้าง นอก ประมาณ นี้ มั้ง มั้ง

2 - เรื่องของ ข้ามพรมแดน (경계를 넘어)



การข้ามแดนระหว่าง 인터페이스 어댑터 กับ 사용 사례
ซื่งลุงแนะนำให้ใช้ - Dependency Inversion Pattern
แล้ว แล้ว แล้ว ยัง มัน ละ มัน มัน อยู่ ใน ส่วน หนึ่ง ของ ของ 고체 원칙 อยู่ ที่ ตัว ตัว d นะ
ง่าย ง่าย ง่าย ก็ ๆ ถ้า ภาย ภาย ใน จะ คุย คุย กับ ภาย ภาย ต้อง ต้อง คุย ผ่าน ผ่าน ผ่าน ที่ ที่ ภาย ภาย ใน สร้าง เพื่อ เท่า นั้น นั้น นั้น นั้น นั้น

3 - เรื่องของ ข้อมูลที่ข้ามแดน(경계를 넘는 데이터)



ลุง ลุง ลุง ว่า บอก ข้อมูล ที่ ที่ ส่ง ต้อง เป็น เป็น โครง สร้าง ง่าย ๆ ๆ หรือ โครง สร้าง ที่ เกิด จาก ภาย ใน เท่า นั้น นั้น นั้น นั้น
ห้าม ห้าม ห้าม ใน อยู่ ข้อมูล จาก จาก ภาย นอก นอก เพราะ จะ ผิด กฏ การ ยึด ติด ติด (종속성 규칙)

จาก จาก จาก อ่าน การ อะไร เยอะ เยอะ มาก เลย พร้อม พร้อม จะ ออก แบบ แบบ 템플릿 เพื่อ ใช้ อย่าง จริงจัง จริงจัง ละ แล้ว กัน ใน ใน ใน ถัด ไป ไป ไป ไป

참조:
https://en.bbo.com.ph/tech/clean-architecture-and-modular-pattern/
https://stackoverflow.com/questions/49307434/clean-architecture-with-c-a-better-design-to-perform-validation-in-value-objec
https://github.com/bxcodec/go-clean-arch
https://medium.com/@thamtheera/clean-architecture-concept-423579240738
https://kritwis.medium.com/golang-clean-architecture-with-demo-e0938e5be02b
https://en.wikipedia.org/wiki/Dependency_inversion_principle
https://medium.com/@jaturapat/dependency-inversion-principle-%E0%B8%84%E0%B8%B7%E0%B8%AD%E0%B8%AD%E0%B8%B0%E0%B9%84%E0%B8%A3-7cd2c7e09b57

좋은 웹페이지 즐겨찾기