Education

ASP.NET Core with Design Pattern

ASP.NET Core with Design Pattern

ASP.NET Core กลับมาพลิกโฉมด้วยการเลิกปิดกั้นตัวเอง เปิดตัวเองเข้าสู่โลก  Opensource และ Container อย่างเต็มตัว สามารถทำงานบนระบบปฏิบัติการยอดฮิตอย่าง MacOS และ Linux ได้อีกด้วย ทำให้กับมาได้รับความนิยมอีกครั้ง นอกจากสามารถใช้ได้ฟรี ยังมีประสิทธิภาพสูงขึ้น อีกทั้งในองค์กรธุรกิจหลายแห่ง ยังเต็มไปด้วยเทคโนโลยี .NET ไม่ว่าจะเป็น VB หรือ C# ทำให้การปรับเปลี่ยนเทคโนโลยีเดิมมาใช้เทคโนโลยีใหม่ใช้เวลาเรียนรู้น้อยลงไม่ต้องเริ่มจากศูนย์ คอร์สนี้จะเรียนรู้จากโปรเจคระบบจองตั๋วคอนเสิร์ต ตั้งแต่กระบวนการออกแบบหน้าจอ การออกแบบ Software Architecture การเลือกใช้ OOP และ Design Pattern เพื่อให้การพัฒนามีระเบียบ อ่านโค้ดเข้าใจได้ง่าย ง่ายต่อการทดสอบ สร้างมาตรฐานการทำงานในทีม และเพิ่มความเร็วในการพัฒนาเมื่อเพิ่มฟีเจอร์ใหม่ๆ

คอร์สนี้เหมาะกับใคร

  • ผู้มีความรู้การพัฒนาแอพพลิเคชั่นด้วย C#.Net, ASP.NET

  • ผู้สนใจปรับเปลี่ยนจาก .NET เวอร์ชั่นเดิมให้รองรับ Container และ Cloud

  • นักพัฒนาที่อยากได้แนวทางการพัฒนาที่ช่วยลดเวลาการพัฒนาลง และนำโค้ดไปต่อยอดงานที่ทำอยู่

  • ผู้สนใจพัฒนา Web, Web Api ด้วย ASP.NET Core

    ผู้สนใจร่วมทำ Opensource ระบบจองตั๋ว จองโรงแรม ด้วย .NET Core และ Blockchain


สิ่งที่ต้องเตรียม


  1. OS Window, Mac, Linux

  2. Laptop Ram Available 250MB+ เนื้อที่ดิสก์ 400 Mb +

  3. ติดตั้ง .NET Core 2.2 + (https://dotnet.microsoft.com/download)

  4. VSCode (https://code.visualstudio.com/download)

  5. MongoDB version 3.2 +

(https://www.mongodb.com/download-center#community)

ตัวอย่างหน้าจอแอพ


เนื้อหา

วันที่ 1

  • Introduction and Installation  

    • แนะนำ .NET Core และติดตั้งเครื่องมือที่เกี่ยวข้องในการพัฒนา ได้แก่ .NET Core, VSCode

    • คุณลักษณะของ  Web ยุคใหม่ประกอบด้วยอะไรบ้าง

    • MVC Pattern

    • สร้างโปรเจค MVC Web Application

  • ออกแบบหน้าจอระบบจองตั๋วคอนเสิร์ต Prototype MyConcert Project

    • Design Concert List Page.

    • Design Concert Details Page.

    • Design Sign In Page.

    • Desing Book History Page.

  • เริ่มต้นวางเลย์เอาต์หน้าจอหลัก

    • ​Header

    • Content

    • Footer

------------------------ Break ------------------------ 

  • พัฒนาหน้าจอ Concert List Page

    • ออกแบบหน้าจอ

    • เขียน REST API เพื่อดึงข้อมูล Concert มาแสดง

    • เขียนโค้ดเชื่อมต่อ  Controller -> REST API -> Model-> View

    • เรียนรู้ Routing, Razor, Dependency Injection

------------------------ Launch ------------------------


  • เรียนรู้ Multi-Tiers Application Design

    • DAL (Data Acess Layer) การพัฒนา dll สำหรับนำกลับมาใช้ได้ในโครงการอื่นๆ การใช้ Interface เพื่อรองรับการทำงานกับฐานข้อมูลหลายชนิด รวมไปถึง การพัฒนาเชิงวัตถุ OOP ในการสืบทอดคุณสมบัติการ Class แม่

    • ​BLL (Business Logic Layer) เลย์เยอร์สำหรับ Business Logic เพื่อรองรับการใช้ฟังก์ชั่นทางธุรกิจ 
      Strategy Pattern เพื่อแบ่งแยกฟังก์ชั่นเป็นส่วน แต่สามารถเข้าถึงได้ด้วยวิธีการเดียวกัน เพื่อกำหนดมาตรฐาน นำกลับมาใช้ใหม่ได้แบบลดความกังวลกับผลข้างเคียงเมื่อมีการปรับ Requirement 
      Factory Pattern เพื่อนำฟังก์ชั่นจาก Strategy Pattern มาประกอบร่างผลิตเป็น Component ใหม่ ตามหลักวิธีของ Composite Pattern
      เรียนรู้การทำรองรับหลายภาษาด้วย Globalization and localization

    • Facade เป็น ประตูหน้าด่านที่จะนำพาไปสู่ Layer อื่นๆ เช่น เมื่อมีการสั่งซื้อสินค้าออนไลน์แล้วลูกค้าไม่จำเป็นต้องรู้ว่าของมาจาก Stock โกดังไหน Shelf ไหน Facade จะทำหน้าที่นำ input ไป  process ต่อและส่งผลลัพธ์กลับไปให้ต้นทาง อีกทั้งประกอบด้วย Security (Authorization, Authentication, Logging)

    • REST API สำหรับให้แอพ Platform ต่างๆเชื่อมต่อ

    • ASP.NET MVC Frontend

------------------------ Break ------------------------

  • พัฒนาหน้าจอ Concert Details Page แบบยังจองตั๋วไม่ได้


วันที่ 2

  • พัฒนาหน้าจอ Sign In Page ด้วย Facebook
    เรียนรู้ Singleton Pattern ด้วย Sign In Page แสดงจำนวนคนที่ Sign In อยู่ปัจจุบัน

  • ปรับหน้าจอ Concert Details Page ให้จองตั๋วได้ เรียนรู้ Transaction เพื่อไม่ให้เกิดการจองตั๋วซ้ำ

------------------------ Break ------------------------

  • พัฒนาหน้าจอ Book History Page

    ------------------------ Launch ------------------------

    Unit Test

    ------------------------ Break ------------------------

    Deployment to Nginx

    Q & A

    Ee9782cfd6ca656f659f598e9cbc7217d3a95cab
    Organized by
    ขาเดฟ