Design Pattern Generator
Extension VS Code với 2 chức năng cốt lõi:
- Gợi ý pattern phù hợp từ đề bài.
- Sinh mã Java chạy được từ tên pattern.
Tính năng
- Chức năng 1 - Gợi ý pattern từ đề bài: Phân tích mô tả bài toán và trả về top 3 pattern cùng độ tin cậy.
- Làm rõ khi điểm sát nhau: Đặt thêm câu hỏi ngắn khi 2 pattern có điểm gần nhau.
- Chức năng 2 - Sinh code từ pattern: Tạo
Main.java và theory.txt từ pattern đã chọn.
- 7 pattern cốt lõi: Singleton, Factory Method, Abstract Factory, State, Strategy, Observer, Decorator.
- Mã Java chạy được ngay: Mỗi template là ví dụ hoàn chỉnh, có thể chạy trực tiếp.
- Lý thuyết phục vụ ôn thi: Có dấu hiệu nhận biết, sơ đồ lớp dạng chữ và lỗi thường gặp.
Cài đặt
- Clone hoặc tải repository
- Chạy
npm install để cài dependency
- Nhấn
F5 để mở Extension Development Host
Cách dùng
- Mở workspace trong VS Code.
- Mở Command Palette (
Ctrl+Shift+P hoặc Cmd+Shift+P).
- Sử dụng theo 2 chức năng cốt lõi:
- Gợi ý pattern từ đề bài: chạy lệnh
Design Pattern: Recommend Pattern from Problem Statement.
- Sinh code theo pattern: có 2 cách dùng cùng 1 chức năng:
Design Pattern: Generate Runnable Code by Pattern Name (nhập tên pattern).
Design Pattern: Generate Design Pattern (chọn nhanh từ danh sách).
- Thư mục output gồm:
Main.java: Ví dụ code chạy được.
theory.txt: Mục đích, dấu hiệu nhận biết, sơ đồ lớp và lỗi thường gặp.
Pattern hỗ trợ
Singleton
Đảm bảo toàn hệ thống chỉ dùng một instance dùng chung.
Factory Method
Tạo đối tượng mà không phụ thuộc trực tiếp vào lớp cụ thể.
Abstract Factory
Cung cấp giao diện để tạo cả họ đối tượng liên quan.
Strategy
Cho phép đổi thuật toán linh hoạt tại runtime.
State
Quản lý hành vi theo trạng thái nội bộ, tránh if-else phức tạp.
Decorator
Bổ sung hành vi động cho đối tượng bằng cơ chế bọc.
Observer
Thông báo cho nhiều đối tượng theo dõi khi dữ liệu thay đổi.
Xử lý lỗi
- Chưa mở Workspace: Hiển thị lỗi khi chưa mở thư mục làm việc.
- Thư mục đã tồn tại: Chặn ghi đè output cũ.
- Người dùng hủy thao tác: Xử lý an toàn khi đóng hộp chọn hoặc nhấn Escape.
Build cho production
npm run compile
npm run esbuild
vsce package
License
MIT
| |