1
두 개의 오브젝트가 있습니다.다른 객체의 두 메서드를 연결하는 가장 좋은 방법은 무엇입니까?
$user = new user($user_id);
$product = new product($product_id);
사용자가 추가 한 제품. 새 제품을 추가하려면 $product
객체를 호출하고, 통계를 업데이트하려면 $user
객체를 호출해야합니다. 이 두 가지 행동은 서로 완전히 연결되어 있습니다. 어떻게 불러야합니까?
# 1) two separate functions
$product->add_new($product_data);
$user->added_product();
# 2) calling static method in the end of the first
$product->add_new($product_data, $user->id);
function add_new($data, $user_id)
{
... // data processing
user::added_product($user_id); // static
}
기능 개발에 가장 적합한 것은 무엇입니까? 첫 번째 방법 (암시 적으로 두 개의 연결된 함수 호출) 또는 두 번째, 정적 함수 사용
정적 메서드가 마음에 들지 않지만 제품이 어떤 이유로 추가되지 않은 경우 사용자 통계를 추가해서는 안됩니다. 그래서 if/else가 코드의 최상위 레벨에있을 것입니다. 그리고 이것은 좋지 않습니다 (나는 클래스 내부에 있기를 원합니다).
아니면 다른 방법이있을 수 있습니다.