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
สิ่งที่ต้องเตรียม
OS Window, Mac, Linux
Laptop Ram Available 250MB+ เนื้อที่ดิสก์ 400 Mb +
ติดตั้ง .NET Core 2.2 + (https://dotnet.microsoft.com/download)
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 localizationFacade เป็น ประตูหน้าด่านที่จะนำพาไปสู่ 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