모든 모델이 매우 유사하게 보입니다. 대부분은 활성 레코드 코드를 포함하는 메소드 컬렉션 인 패턴을 따르는 경향이 있습니다. 다음은 그 예입니다.내 모델이 모두 동일하게 보입니다.
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
// ...
}
이 접근법은 저에게는 잘 돌아 갔지만 좀 더 우아한 해결책이 있는지 궁금합니다. 새로운 방식으로 데이터를 검색해야 할 때마다 새로운 방법을 만들어야한다고 생각합니다. 이게 일반적인 관행입니까 아니면 이것을 리펙토링하는 방법을 놓치고 있습니까?
이것은 대부분 [활성 레코드] 그룹 (http://martinfowler.com/eaaCatalog/activeRecord.html)을 전체 구현 모드 레이어 대신 사용하는 부작용입니다. 리팩터링 옵션과 관련된 [this] (http://stackoverflow.com/a/11943107/727208)을 참조하십시오. –