【发布时间】:2010-01-09 23:09:12
【问题描述】:
我有 3 个不同的 Web 服务器来处理用户数据(用户名/密码/电子邮件/等)。我分别有 3 个不同的 Web 服务调用,所以我创建了 3 个不同的类来调用相同的信息(getUsername、setUsername、getEmail、setEmail 等)。在主类中,我实例化每个 webservice-call 对象,当我请求新的用户名和密码时,我调用每个类的 createUsername() 方法(提供数据)。
您对如何应用设计模式来解决这个问题有什么建议吗?我想创建一个具有createUsername() {} 方法的类,在此我将调用每个 webservice-classes 并将每个结果存储在预定义的数组中。有没有人有任何建议或更好的做法?
目前我有:
class webservice1calls {
function createUser($username, $password) {}
function deleteUser($username, $password) {}
function createGroup($groupname) {}
function deleteGroup($groupname) {}
}
class webService2calls {
function createUser($username, $password) {} //different implementation
function deleteUser($username, $password) {} //different implementation
function createGroup($groupname) {} //different implementation
function deleteGroup($groupname) {} //different implementation
}
class webService3calls {
function createUser($username, $password) {} //different implementation
function deleteUser($username, $password) {} //different implementation
function createGroup($groupname) {} //different implementation
function deleteGroup($groupname) {} //different implementation
}
//My "like a proxy" class:
class webServiceCalls {
function createUser($username, $password) {
$ws1 = new webService1calls();
$ws2 = new webService2calls();
$ws3 = new webService3calls();
$res1 = $ws1->createUser($username, $password);
$res2 = $ws2->createUser($username, $password);
$res3 = $ws3->createUser($username, $password);
// return result depending $res1,$res2 and $res3 values
}
//and the call is done from another class somewhat like this:
class doThings {
function run() {
$ws = new webServiceCalls();
$ws_res = $ws->createUser();
}
}
我认为上述表示将帮助您了解当前
设计(也许对问题有更好的理解。
谢谢!
【问题讨论】:
-
请改写你的问题,它完全模棱两可,并没有描述你的实际问题。
-
对不起.. 我无法访问我的电子邮件帐户和 stackoverflow 帐户.. 我创建了一个新帐户,因此我将使用不同的用户名再次发布我的问题:(你可以在这里找到新修订的问题(我希望我已经清除了所有模糊的部分):stackoverflow.com/questions/2048022/…很抱歉给您带来不便:(
标签: php design-patterns oop