Sakai TPP bao quát một số mẫu thiết kế cơ bản. Phần lớn các thiết kế TPP đƣợc xây dựng xung quanh những mẫu thiết kế nhƣ các nguyên tắc sáng lập.Model- View-Controller - Trong Sakai cách nói, Service là các khía cạnh khăng khít của hệ thống (thƣờng đƣợc gọi là mô hình Domain). Công cụ presentation nhìn thấy trong JavaServer Faces, tạo nên View và Controller là công cụ logic. Nói đúng ra Model (so với các mô hình Domain) là các dữ liệu đƣợc lƣu truyền từ bộ điều khiển tới View. Trong Sakai đây là một chƣơng trình Java có chứa các thông tin lấy từ các dịch vụ (Domain Model) cộng với các yếu tố trang trí cần thiết.
Tác gỉa: Chu Thị Hồng Nhung Trang 35
Lập trình giao diện hơn là việc triển khai - Đó là framework để cung cấp cho
việc thực hiện đúng cho mỗi giao diện theo yêu cầu của một công cụ hoặc dịch vụ. Đây là chƣơng trình thực hành Java cơ bản tốt nhất. Nhằm cho phép triển khai các giao diện, các công cụ này đƣợc giữ hoàn toàn không biết gì về class đặc biệt mà thực hiện các giao diện yêu cầu. Công cụ và dịch vụ đơn giản là thể hiện yêu cầu của chúng về mặt các giao diện cần thiết.
Tách xem đồ họa và dựng hình từ công cụ logic - công cụ Sakai đƣợc phân
tách ra thành công cụ logic (viết bằng Java) và xem công cụ thuyết trình (viết bằng JavaServer Faces). Cách tiếp cận này đảm bảo rằng các lĩnh vực này đƣợc lƣu giữ riêng biệt để có thể tìm và gỡ lỗi các thành phần riêng biệt. Hơn nữa nó cho phép sự phát triển riêng biệt của đồ họa cách nhìn và cảm nhận của một công cụ logic cơ bản và hoạt động của công cụ. Rõ ràng là các thiết kế của JSF và các quy ƣớc Sakai về việc sử dụng JSF sẽ cho phép các công cụ bố trí đồ họa (nhƣ Dreamweaver) đƣợc phát triển có thể tự động tạo ra các đánh dấu JSF từ một công cụ đƣợc sử dụng bởi các nhà thiết kế giao diện. Một khi điều này xảy ra, sau đó thiết kế giao diện và giả lập nỗ lực có thể đƣợc thực hiện trực tiếp trong JSF, dẫn đến nhanh hơn thiết kế xây dựng chu kỳ.
Hình 2.10: Sakai Framework
Tách persistence / lƣu trữ từ các công cụ logic - Thƣờng các lớp persistence
Tác gỉa: Chu Thị Hồng Nhung Trang 36 bởi vì nó phụ thuộc vào sự sẵn có của một công nghệ lƣu trữ cụ thể. Do tác động này trên di Sakai đòi hỏi rằng tất cả các hoạt động lƣu trữ đƣợc thực hiện trong các dịch vụ mà công cụ truy cập thông qua một giao diện. Bằng cách này, bất kỳ mã không cầm tay đƣợc ẩn đằng sau một giao diện rõ ràng.
Yếu tố Giao diện ngƣời dùng đƣợc kiểm soát bởi các framework
Các thiết kế của portability profile dự định để tối đa hóa portability của các thành phần đƣợc xây dựng tuân theo theo profile. Bởi vì mục đích cuối cùng là để triển khai các công cụ TSPP phù hợp ngoài môi trƣờng trình duyệt web, điều quan trọng là một số khía cạnh của giao diện ngƣời dùng còn lại cho việc thực hiện framework, và không đƣợc coi là một phần của các công cụ chính nó.
Presentation Rendering - Trong khi mục tiêu ban đầu của Sakai TSPP là môi
trƣờng web / trình duyệt, nó đã đƣợc thiết kế để cho phép các công cụ hoạt động trong một môi trƣờng máy tính với sự phát triển của môi trƣờng framework thích hợp.
Công cụ Arrangement - Ngƣời sử dụng / máy tính để bàn / framwork điều
khiển việc bố trí các công cụ - công cụ có thể đƣợc di chuyển, phóng to, thu nhỏ, mở ra, hoặc đóng dƣới sự kiểm soát của framework.
Tool Selection và Inter-Tool Navigation - Công cụ đƣợc ra mắt bằng cách sử
dụng các cơ chế cung cấp bởi framework - những ngƣời dùng di chuyển giữa các công cụ sử dụng framework là tốt.
Mỗi công cụ đƣợc coi nhƣ một cửa sổ độc lập có thể đƣợc sắp xếp bởi ngƣời sử dụng hoặc framework. Một công cụ có ý nghĩa nếu nó đƣợc hiển thị trong một môi trƣờng với các công cụ khác nhƣ một cổng web hoặc nhƣ một cửa sổ riêng biệt trên máy tính của ngƣời dùng. Công cụ không cần phải quan tâm chính nó với việc cung cấp một cơ chế để "đóng " các công cụ - framework sẽ kiểm soát sự ra đời và đóng của các công cụ.
Mỗi công cụ có thể đƣợc sử dụng nhiều lần bởi cùng một ngƣời dùng. Công cụ không cần phải theo dõi các trƣờng hợp riêng biệt của chính nó - framework sẽ bảo đảm rằng mỗi trƣờng hợp của công cụ sẽ bao gồm một tập hợp riêng biệt các giá trị
Tác gỉa: Chu Thị Hồng Nhung Trang 37 dữ liệu đƣợc lƣu giữ riêng biệt từ các trƣờng hợp khác của các công cụ và các trƣờng hợp khác của các công cụ khác .