Tôi đã nhận thấy rằng tất cả các kiểu máy của tôi trông rất giống nhau. Hầu hết trong số họ có xu hướng làm theo một mô hình mà họ là bộ sưu tập các phương pháp có chứa mã ghi hoạt động mà chỉ là các biến thể nhỏ trên nhau. Dưới đây là ví dụ:Mô hình của tôi tất cả có xu hướng giống nhau
class Site extends CI_Model {
public function get_site_by_id($id)
{
// Active record code to get site by id
}
public function get_sites_by_user_id($user_id)
{
// ...
}
// ...
public function get_site_by_user_id_and_url_string($user_id, $url_string)
{
// ...
}
// Non active record methods and business logic
// ...
}
Cách tiếp cận này đã làm việc tốt cho tôi nhưng tôi tự hỏi liệu có giải pháp thanh lịch hơn hay không. Có vẻ như tôi không phải tạo ra một phương pháp mới mỗi khi tôi cần tra cứu dữ liệu theo một cách mới. Đây có phải là thực tế phổ biến hoặc tôi thiếu một cách để cấu trúc lại điều này?
Điều này chủ yếu sẽ là tác dụng phụ của việc sử dụng một nhóm [hồ sơ hoạt động] (http://martinfowler.com/eaaCatalog/activeRecord.html) để thay thế cho lớp chế độ được triển khai đầy đủ. Bạn có thể tìm thấy [this] (http://stackoverflow.com/a/11943107/727208) liên quan đến các tùy chọn tái cấu trúc. –