Mô hình Agile đưa ra bởi Scott W. Ambler. Các quy tắc chuẩn hoá theo mô hình này như sau:
a. Dạng chuẩn 1 (1ONF - First Object Normal Form) “Một lớp ở dạng chuẩn 1 nếu hành vi nào đó được yêu cầu bởi một thuộc tính - là một nhóm các thuộc tính đơn - được đóng gói trong chính lớp đó” Ví dụ: Xét lớp Student trong hình 3.28, ta có thể thấy rằng nó cài đặt các hành vi thêm và xoá student khỏi seminar. Thuộc tính seminar là một nhóm các thông tin về seminar. Lớp này rõ ràng không gắn bó Lớp Student được chuẩn hoá dạng 1ONF như hình 3.29. Bằng cách đóng gói các thuộc tính và hành vi của Seminar, ta đã tăng tính gắn bó của mô hình. Chuẩn hoá 1ONF tương đương với chuẩn hoá 1NF, với 1NF ta xoá sự lặp lại nhóm dữ liệu từ thực thể, và với 1ONF ta xoá sự lặp lại nhóm hành vi từ lớp
|
Lớp Student ở dạng chuẩn OONF |
Mô hình hướng đối tượng dạng chuẩn 1ONF
b. Dạng chuẩn 2 (2ONF - Second Object Normal Form)
“Một lớp ở dạng chuẩn 2 khi nó là 1ONF và hành vi chia sẻ cho nhiều hơn một thể hiện của lớp được đóng gói trong chính lớp đó”
Ví dụ: Xét lớp Seminar ở hình 3.29. Nó cài đặt hành vi xử lý thông tin về course của seminar và về professor. Khi tên khoá học thay đổi, ta phải thay đổi cho mỗi seminar của khoá học. Hình 3.30 mô tả mô hình đối tượng dạng chuẩn 2ONF
Hình 3.30 Mô hình hướng đối tượng dạng chuẩn 2ONF
c. Dạng chuẩn 3 (3ONF - Third Object Normal Form)
“Một lớp ở dạng chuẩn 3ONF khi nó là 2ONF và nó đóng gói chỉ một tập các hành vi gắn bó“. Ở hình 3.30 lớp Student đóng gói hành vi của sinh viên và địa chỉ. Bước đầu tiên ta tách lớp Student thành hai lớp, Student và Address. Điều này làm cho mô hình của bạn gắn bó và linh động hơn bởi vì có những sinh viên có nhiều địa chỉ. Tuy nhiên, lớp Address vẫn cần được chuẩn hoá. Có hành vi chỉ kết hợp chỉ với zip code. Ví dụ, dựa trên zip code có thể xác định thành phố và bang là đúng. Mô hình hướng đối tượng ở dạng chuẩn 3ONF mô tả ở hình 3.31. Tách lớp Address thành bốn lớp: Address, ZipCode, City, và State. Tất cả các chức năng của zip code được đóng gói, tăng tính gắn bó của mô hình. Và ta có thể dễ dàng truy vấn các địa chỉ theo các điều kiện khác nhau, tăng tính linh động của ứng dụng. Hơn nữa lớp Seminar cần cài đặt hành vi date range – nó có ngày bắt đầu, ngày kết thúc, và tính khoảng cách giữa hai ngày. Ta cần tách thêm lớp DateRange
Mô hình hướng đối tượng dạng chuẩn 3ONF
» Tin mới nhất:
» Các tin khác: