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

    WebProgramming, C#, DesignPattern, .NETCore, ASP.NET

    Tickets

    No Tickets Available

    1
    Organize by
    ขาเดฟ