สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-87

C# OOP and Design Patterns

หลักสูตร C# OOP and Design Patterns เป็นการอบรมการเขียนโปรแกรมเชิงวัตถุด้วยภาษา C# บน .NET ครอบคลุม Encapsulation, Inheritance, Polymorphism และ Interface ไปจนถึงหลัก SOLID, Dependency Injection และ Design Patterns ที่ใช้บ่อย เหมาะกับนักพัฒนาที่เขียน C# ได้แล้ว หัวหน้าทีม และนักศึกษา

อัปเดตล่าสุด
ราคาเริ่มต้น 8,550 บาท / ท่าน 9,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

เมื่อเขียน C# ได้แล้ว ปัญหาที่ตามมาเมื่อระบบใหญ่ขึ้นคือโค้ดแก้ยาก เพิ่มฟีเจอร์ทีไรกระทบส่วนอื่น และนำกลับมาใช้ซ้ำไม่ได้ การคิดแบบ Object Oriented และการรู้จัก Design Pattern ที่นักพัฒนาทั่วโลกใช้แก้ปัญหาซ้ำ ๆ จะช่วยให้ออกแบบระบบที่แยกส่วนชัดเจน ทดสอบได้ และปรับเปลี่ยนได้ง่ายขึ้น

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่สำหรับ C# 14 บน .NET 10 (LTS) ต่อยอดจากหลักสูตร Basic C# Programming เริ่มจากหลักการ OOP ทั้ง 4 ข้อ Class และ Object แบบ C# สมัยใหม่ Interface, Generics และ Event ไปจนถึงหลัก SOLID และ Dependency Injection แล้วลงมือเขียน Design Patterns ที่ใช้บ่อยทั้งกลุ่ม Creational, Structural และ Behavioral พร้อมเขียน Unit Test ด้วย xUnit และ Workshop ออกแบบระบบจากโจทย์ธุรกิจ (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจหลักการคิดแบบ Object Oriented และเหตุผลที่ใช้แทนการเขียนแบบ Top-Down
  • ออกแบบ Class ด้วย Encapsulation, Abstraction, Inheritance และ Polymorphism ได้
  • ใช้ฟีเจอร์ C# สมัยใหม่ เช่น Primary Constructor, Record, คีย์เวิร์ด field และ Extension Members ได้
  • เลือกใช้ abstract class, sealed และ Interface ได้อย่างเหมาะสม
  • นำหลัก SOLID และ Dependency Injection ไปใช้ลดการผูกติดกันของโค้ดได้
  • เขียน Design Patterns ที่ใช้บ่อยทั้งกลุ่ม Creational, Structural และ Behavioral ได้
  • ทดสอบโค้ดเชิงวัตถุด้วย Unit Test และ xUnit ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาที่เขียน C# ได้แล้วและต้องการเขียนโค้ดที่ดูแลง่ายขึ้น
  • ผู้ที่ต้องการพัฒนาเว็บแอปพลิเคชันหรือ API ด้วย C# และ ASP.NET Core
  • IT Manager และหัวหน้าทีมที่ต้องการวางมาตรฐานการออกแบบโค้ดของทีม
  • นักศึกษาที่ผ่านพื้นฐาน C# มาแล้วและต้องการเข้าใจ OOP อย่างลึกซึ้ง

พื้นฐานของผู้เข้าอบรม

  • เขียนโปรแกรมด้วยภาษา C# ได้ หรือผ่านหลักสูตร Basic C# Programming มาแล้ว
  • เข้าใจตัวแปร เงื่อนไข การวนซ้ำ Method และ Collection ใน C#
  • เคยใช้ Visual Studio หรือ VS Code มาบ้าง
  • โน้ตบุ๊กที่มีสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร C# OOP รุ่นเดิม เนื้อหาเขียนใหม่และอัปเดตให้ตรงกับ C# 14 บน .NET 10 (LTS) อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายสลับ Lab และ Workshop ระดับ Intermediate ต่อยอดจากหลักสูตร Basic C# Programming ซึ่งสอน Class และ Inheritance ระดับพื้นฐาน หลักสูตรนี้ลงลึกที่การออกแบบ ตั้งแต่หลัก OOP ทั้ง 4 ข้อ Interface, Generics และ Event หลัก SOLID และ Dependency Injection ไปจนถึง Design Patterns กลุ่ม Creational, Structural และ Behavioral พร้อม Unit Test ด้วย xUnit และ Workshop ออกแบบระบบจากโจทย์ธุรกิจ ผู้เรียนจะได้ Lab Guide และซอร์สโค้ดครบทุก Pattern กลับไปใช้งานต่อ

Day 1 หลักคิด OOP และการออกแบบ Class

Section 1: Lab: ทำไมต้อง OOP และเตรียมเครื่องมือ

  • ปัญหาของโค้ดแบบ Top-Down เมื่อระบบใหญ่ขึ้น และข้อดีข้อเสียของ OOP
  • หลักการคิดแบบ Object: ข้อมูลและพฤติกรรมอยู่ด้วยกัน
  • ติดตั้ง .NET 10 SDK และ Visual Studio 2026 หรือ VS Code กับ C# Dev Kit
  • สร้าง Solution ที่มี Class Library, Console App และ Test Project ด้วย dotnet CLI
  • Lab: แปลงโปรแกรมแบบ Top-Down ให้เป็น Class แรก

Section 2: Lab: Class และ Object ใน C# 14

  • Field, Property, Method และ Constructor
  • Primary Constructor และ Object Initializer
  • สมาชิกแบบ required และ init สำหรับข้อมูลที่ต้องกำหนดตอนสร้าง
  • สมาชิกแบบ static และเมื่อไรควรใช้
  • Lab: สร้าง Class สินค้าและตะกร้าสินค้า

Section 3: Lab: Encapsulation

  • ห่อหุ้มสถานะของ Object ด้วย Access Modifier
  • Property ต่างจาก Field อย่างไร และการตรวจค่าก่อนกำหนด
  • คีย์เวิร์ด field ใน C# 14 สำหรับ Property ที่มี Logic
  • Immutability ด้วย Record และ readonly
  • Lab: ป้องกันไม่ให้ยอดเงินในบัญชีถูกแก้ไขผิดวิธี

Section 4: Lab: Abstraction และการออกแบบ Class

  • หลักการนามธรรม: แสดงเฉพาะสิ่งที่ผู้ใช้ Object ต้องรู้
  • แบ่งหน้าที่ของ Class ให้ชัดเจนจากโจทย์ธุรกิจ
  • อ่านและวาด UML Class Diagram ด้วย Mermaid
  • Value Object กับ Entity ต่างกันอย่างไร
  • Lab: ออกแบบ Class ของระบบจองห้องประชุม

Section 5: Lab: Inheritance และ Composition

  • หลักการสืบทอดด้วย base class และคีย์เวิร์ด base
  • Access Modifier แบบ protected และลำดับการเรียก Constructor
  • ความสัมพันธ์แบบ is-a กับ has-a
  • เมื่อไรควรเลือก Composition แทน Inheritance
  • Lab: ปรับโครงสร้าง Class พนักงานหลายประเภท
Day 2 Polymorphism, Interface และ SOLID

Section 6: Lab: Polymorphism

  • หลักการ Polymorphism หรือการมีได้หลายรูปแบบ
  • Method Overloading และ Operator Overloading
  • virtual, override และความต่างกับการซ่อนด้วย new
  • ตรวจชนิดของ Object ด้วย Pattern Matching
  • Lab: คำนวณค่าขนส่งหลายรูปแบบผ่าน Method เดียวกัน

Section 7: Lab: sealed และ abstract class

  • ความสำคัญของ sealed class และ sealed method
  • abstract class และ abstract method ต่างจาก class ทั่วไปอย่างไร
  • Template ของขั้นตอนด้วย abstract class
  • Lab: ระบบชำระเงินที่บังคับให้ทุกช่องทางทำตามขั้นตอนเดียวกัน

Section 8: Lab: Interface

  • การใช้งาน Interface และความต่างระหว่าง abstract class กับ Interface
  • Implement หลาย Interface และ Explicit Implementation
  • Default Interface Method และ Static Abstract Member
  • Interface มาตรฐานของ .NET: IComparable, IEquatable และ IDisposable
  • Lab: เรียงลำดับและเปรียบเทียบ Object ด้วย Interface

Section 9: Lab: Generics, Delegate, Event และ Extension Members

  • Generic Class และ Method พร้อม Constraint
  • Delegate, Func, Action และ Lambda
  • ประกาศและใช้งาน event สำหรับแจ้งการเปลี่ยนแปลง
  • เพิ่มความสามารถให้ Type เดิมด้วย Extension Members แบบ C# 14
  • Lab: Repository แบบ Generic ที่แจ้ง Event เมื่อข้อมูลเปลี่ยน

Section 10: Lab: หลัก SOLID และ Dependency Injection

  • Single Responsibility และ Open/Closed Principle
  • Liskov Substitution, Interface Segregation และ Dependency Inversion
  • Dependency Injection ด้วย Microsoft.Extensions.DependencyInjection
  • Lifetime แบบ Singleton, Scoped และ Transient
  • Lab: ปรับโค้ดที่ผูกติดกันให้ทดสอบได้ด้วย DI
Day 3 Design Patterns และ Workshop

Section 11: Lab: Design Patterns และกลุ่ม Creational

  • Design Pattern คืออะไร และองค์ความรู้ของ Gang of Four
  • Singleton แบบปลอดภัยด้วย Lazy เทียบกับ Singleton Lifetime ของ DI
  • Factory Method สำหรับสร้าง Object ตามเงื่อนไข
  • Builder สำหรับ Object ที่มีขั้นตอนการสร้างหลายขั้น
  • Lab: สร้างตัวส่งการแจ้งเตือนหลายช่องทางด้วย Factory Method

Section 12: Lab: Structural Patterns

  • Composite สำหรับข้อมูลแบบลำดับชั้น เช่น เมนูและโครงสร้างองค์กร
  • Adapter สำหรับเชื่อมโค้ดใหม่กับระบบเดิม
  • Decorator สำหรับเพิ่มความสามารถโดยไม่แก้ Class เดิม
  • Facade สำหรับซ่อนความซับซ้อนของหลายระบบย่อย
  • Lab: เพิ่ม Logging และ Cache ให้ Service ด้วย Decorator

Section 13: Lab: Observer และ Strategy

  • Observer Pattern ด้วย event และ IObservable
  • Strategy Pattern สำหรับสลับอัลกอริทึมขณะทำงาน
  • ใช้ Strategy ร่วมกับ Dependency Injection
  • Lab: ระบบคำนวณส่วนลดหลายเงื่อนไขด้วย Strategy

Section 14: Lab: Behavioral Patterns อื่น ๆ

  • Command Pattern สำหรับคำสั่งที่ย้อนกลับ (Undo) ได้
  • Template Method สำหรับขั้นตอนที่มีโครงเดียวกัน
  • State Pattern สำหรับ Object ที่เปลี่ยนพฤติกรรมตามสถานะ
  • เลือก Pattern ให้เหมาะ และระวังการใช้ Pattern เกินจำเป็น
  • Lab: สถานะคำสั่งซื้อด้วย State Pattern

Section 15: Workshop: ออกแบบระบบจากโจทย์ธุรกิจพร้อม Unit Test

  • วิเคราะห์โจทย์และวาด Class Diagram ของระบบ
  • เลือกใช้หลัก OOP, SOLID และ Pattern ที่เหมาะกับแต่ละส่วน
  • เขียน Unit Test ด้วย xUnit เพื่อยืนยันพฤติกรรมของระบบ
  • นำเสนองาน รีวิวการออกแบบร่วมกัน และแนวทางต่อยอดสู่ ASP.NET Core

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Interface กับ Abstract Class ใน C# ต่างกันอย่างไร

Abstract Class เป็นคลาสแม่ที่สร้าง Object โดยตรงไม่ได้ มีทั้ง Field, Constructor และ Method ที่เขียนไว้แล้ว และ Class หนึ่งสืบทอดได้เพียงตัวเดียว เหมาะกับกลุ่ม Class ที่มีความสัมพันธ์แบบ is-a และใช้โค้ดร่วมกัน ส่วน Interface เป็นข้อตกลงว่า Class ต้องมีความสามารถอะไร Class หนึ่ง Implement ได้หลาย Interface ใน C# สมัยใหม่ Interface มี Default Method และ Static Abstract Member ได้ แต่ไม่มี Field ที่เก็บสถานะ จึงเหมาะกับการกำหนดความสามารถร่วมของ Class ที่ไม่เกี่ยวข้องกัน

Strategy Pattern คืออะไร ใช้แก้ปัญหาแบบไหน

Strategy Pattern แยกอัลกอริทึมที่เปลี่ยนได้ออกเป็น Class ของตัวเองที่ Implement Interface เดียวกัน แล้วให้ Object หลักเรียกผ่าน Interface นั้น จึงสลับวิธีคำนวณได้ขณะทำงานโดยไม่ต้องเขียน if หรือ switch ยาว ๆ และเพิ่มวิธีใหม่ได้โดยไม่แก้โค้ดเดิม ตามหลัก Open/Closed ตัวอย่างเช่น การคำนวณส่วนลดหลายเงื่อนไข ค่าขนส่งหลายเจ้า หรือช่องทางชำระเงิน และใช้ร่วมกับ Dependency Injection ได้ดี

Encapsulation ใน C# ทำอย่างไร Property ต่างจาก Field อย่างไร

Encapsulation คือการซ่อนสถานะภายในของ Object และให้ภายนอกเข้าถึงผ่านช่องทางที่ควบคุมได้ Field เป็นตัวแปรที่เก็บข้อมูลจริงและควรเป็น private ส่วน Property เป็นช่องทางอ่านเขียนที่มี get และ set ซึ่งใส่การตรวจค่าหรือคำนวณได้ ใน C# 14 ใช้คีย์เวิร์ด field อ้างถึงที่เก็บข้อมูลของ Property ได้โดยไม่ต้องประกาศ Field เอง และใช้ init หรือ Record เมื่อต้องการให้ค่ากำหนดได้ตอนสร้างเท่านั้น

หลักสูตร C# OOP and Design Patterns เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนาที่เขียน C# ได้แล้ว ผู้ที่ต้องการพัฒนาเว็บแอปหรือ API ด้วย C# หัวหน้าทีมหรือ IT Manager ที่ต้องการวางมาตรฐานการออกแบบโค้ด และนักศึกษาที่ผ่านพื้นฐาน C# มาแล้ว ควรเขียน C# ได้หรือผ่านหลักสูตร Basic C# Programming มาก่อน เข้าใจตัวแปร เงื่อนไข การวนซ้ำ Method และ Collection และเคยใช้ Visual Studio หรือ VS Code มาบ้าง

เรียนจบหลักสูตร C# OOP and Design Patterns แล้วทำอะไรได้บ้าง

ออกแบบ Class จากโจทย์ธุรกิจด้วยหลัก Encapsulation, Abstraction, Inheritance และ Polymorphism เลือกใช้ abstract class และ Interface ได้เหมาะสม ใช้ฟีเจอร์ C# 14 อย่าง Record, คีย์เวิร์ด field และ Extension Members นำหลัก SOLID และ Dependency Injection มาลดการผูกติดของโค้ด เขียน Design Patterns อย่าง Factory Method, Decorator, Observer, Strategy และ State และเขียน Unit Test ด้วย xUnit ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร C# OOP and Design Patterns ให้ทีมในองค์กรได้ไหม

ได้ สถาบันไอทีจีเนียสรับจัดอบรมแบบ In-house ให้ทีมพัฒนาในองค์กร สามารถใช้ตัวอย่างที่ใกล้กับระบบของทีม เลือกเน้น Pattern ที่ทีมใช้จริง และเพิ่มการรีวิวการออกแบบโค้ดร่วมกันเพื่อวางมาตรฐานของทีม สอบถามรายละเอียดและขอใบเสนอราคาได้ผ่านช่องทางติดต่อของสถาบัน