У меня есть 3 разных веб-сервера, которые обрабатывают пользовательские данные (имя пользователя / пароль / электронная почта / и т. Д.). У меня 3 разных вызова веб-службы соответственно, поэтому я создал 3 разных класса, которые вызывают одну и ту же информацию (getUsername
, setUsername
, getEmail
, setEmail
и т. Д.). Из основного класса я создаю экземпляры каждого объекта вызова веб-сервиса и, когда у меня есть запрос на новое имя пользователя, пароль, я вызываю метод createUsername()
каждого класса (предоставление данных).
Есть ли у вас какие-либо предложения о том, как применить шаблон проектирования для этой проблемы? Я думал о создании класса, который будет иметь метод createUsername() {}
, и в этом я буду вызывать каждый из классов webservice и сохранять каждый результат в предопределенном массиве. У кого-нибудь есть предложение или лучшая практика?
В настоящее время у меня есть:
class webservice1calls {
function createUser($username, $password) {}
function deleteUser($username, $password) {}
function createGroup($groupname) {}
function deleteGroup($groupname) {}
}</p>
<p>class webService2calls {
function createUser($username, $password) {} //different implementation
function deleteUser($username, $password) {} //different implementation
function createGroup($groupname) {} //different implementation
function deleteGroup($groupname) {} //different implementation
} </p>
<p>class webService3calls {
function createUser($username, $password) {} //different implementation
function deleteUser($username, $password) {} //different implementation
function createGroup($groupname) {} //different implementation
function deleteGroup($groupname) {} //different implementation
} </p>
<p>//My "like a proxy" class:</p>
<p>class webServiceCalls {
function createUser($username, $password) {
$ws1 = new webService1calls();
$ws2 = new webService2calls();
$ws3 = new webService3calls();</p>
<pre><code>$res1 = $ws1->createUser($username, $password);
$res2 = $ws2->createUser($username, $password);
$res3 = $ws3->createUser($username, $password);
// return result depending $res1,$res2 and $res3 values
}
// и вызов выполняется из другого класса, примерно так:
class doThings {
function run () {
$ ws = new webServiceCalls ();
$ ws_res = $ ws-> createUser ();
}
}
Я думал, что приведенное выше представление поможет вам понять текущее
дизайн (и, возможно, лучшее понимание проблемы.
спасибо!