Skip to content

Programming Concepts — Software Design & Architecture

ส่วนหนึ่งของ Beginner Book

📌 ขอบเขตของหมวดนี้ — เน้น design principles + architecture patterns (OOP, SOLID, Design Patterns, Clean Code, FP, Architecture)

ไม่ครอบ: หัวข้อเหล่านี้อยู่หมวดอื่น (ดูสารบัญหลัก) —

  • Data Structures & Algorithms (ดา-ต้า สตรัก-เจอร์ส แอนด์ อัล-กอ-ริ-ทึมส์) = โครงสร้างข้อมูล (array, list, tree, hash) และอัลกอริทึม (sort, search)
  • Complexity Analysis (คอม-เพล็ก-ซิ-ตี้ อะ-แน-ลิ-ซิส) = การวิเคราะห์ความซับซ้อนของอัลกอริทึม (Big-O notation)
  • Concurrency Primitives (คอน-เคอ-เร็น-ซี พริ-มิ-ทีฟส์) = เครื่องมือพื้นฐานสำหรับการทำงานพร้อมกัน (thread, lock, mutex)
  • Networking (เน็ต-เวิร์ก-คิง) = การสื่อสารระหว่างเครื่องผ่านเครือข่าย (TCP/IP, HTTP)

หนังสือเล่มนี้พาคุณไปถึงไหน

อ่านจบ + ทำ checkpoint หมด คุณจะ:

  • เข้าใจ OOP ลึก — ไม่ใช่แค่ "class กับ object"
  • ใช้หลัก SOLID ในการตัดสินใจออกแบบ
  • รู้จัก Design Patterns ที่ใช้บ่อยจริง (Strategy, Factory, Observer, Adapter, ...)
  • เขียน Clean Code ที่อ่านง่าย + maintain ง่าย
  • เข้าใจ Functional Programming — pure, immutable, higher-order
  • ตัดสินใจ Architecture (Layered, Hexagonal, Clean Architecture) ได้

หนังสือนี้ออกแบบมาให้ใคร

✅ คนที่เขียน code ได้แล้ว — อยากเขียนให้ดีขึ้น
✅ Developer ที่ลำบาก refactor / maintain code เก่า
✅ คนที่อยากเข้าใจ design patterns โดยไม่ท่อง

❌ คนที่ยังเริ่มเขียนภาษาแรก — ไปอ่าน Java/React Book ก่อน

บทเรียน

#บทสอนอะไร
0Mindset ก่อนเขียนทำไม design สำคัญ, ความคิดของ engineer ที่ดี
1OOP ลึกencapsulation (เอน-แค็พ-ซู-เล-ชั่น), inheritance (อิน-เฮอ-ริ-แทนซ์), polymorphism (พอ-ลี-มอร์-ฟิ-ซึม), composition over inheritance
2SOLID PrinciplesSRP, OCP, LSP, ISP, DIP — เห็นภาพ
3Design PatternsStrategy, Factory, Observer, Adapter, Decorator, Singleton
4Clean Codenaming, function, comment, error handling, test
5Functional Programmingpure, immutable, higher-order, composition, monad (โม-แนด = กล่องห่อค่าที่ต่อกันได้) (light)
6Architecture PatternsLayered, Hexagonal (เฮ็ก-ซา-โก-นัล = หกเหลี่ยม), Clean Arch, DDD (ดี-ดี-ดี = Domain-Driven Design) intro

🔮 Further reading (2026) — สำหรับคนที่อ่านจบแล้วอยากต่อยอด: Algebraic Effects / Effect Systems (เช่น Effect TS, Koka language) เป็นเรื่อง FP frontier ที่กำลังมาแรงปี 2025-2026 — มอง side effect เป็น "type" ที่ track ได้

ภาษาที่ใช้ในตัวอย่าง

แนวคิดในเล่มนี้ (OOP, SOLID, Patterns, FP) เป็น หลักการข้ามภาษา — ใช้ได้กับทุกภาษา

ตัวอย่างหลักเขียนด้วย Java (ภาษาแกนของคลังนี้) แต่ที่ concept สำคัญ ๆ จะมีกล่อง "เทียบ 3 ภาษา (Java / TypeScript / Python)" ให้เห็นว่าสิ่งเดียวกันหน้าตาต่างกันแค่ syntax เช่น:

👉 ถ้าคุณมาจากสาย JS/TS/Python — อ่านโค้ด Java เป็นหลักได้ แล้วดูกล่องเทียบเพื่อเชื่อมกับภาษาที่คุณถนัด หลักการเหมือนกันหมด


← กลับสารบัญหลัก


Glossary: ../glossary.md · Style guide: ../CONTRIBUTING.md last_verified: 2026-06-03 · review report: ../REVIEW-2026-06-03.md