我正在编写一个自定义域管理类,它使用各种外部服务,一种包装类使它们一起工作。
我会把连接逻辑放在这个类中吗?我不会立刻需要所有的服务,所以将它放在构造函数中是没有意义的,我实际上认为一些方法会更好地作为静态方法,因为它们并不真正相互关联,他们唯一的共同点是潜在的联系。
我将采用以下方法:
我应该在每次调用中检查连接属性(如果不存在则创建它)或者在类构造函数中连接?
答案 0 :(得分:2)
我认为按照以下方式创建一些东西是有意义的:
class DomainManager {
public function __construct($domainData) {}
public function registerDomain() {
//connect
//do stuff
}
public function updateDomain() {
//connect
//do stuff
}
public function isAvailable() {
//connect
//do stuff
}
public function registerDns() {
//connect
//do stuff
}
public function updateDns() {
//connect
//do stuff
}
private function connectToNominet() {}
private function connectToAmazon() {}
}
然后你有一个很好的对象,它封装了一个域可用的逻辑:
$domain1 = new DomainManager('example.com', $user, $foo);
$domain->registerDomain();
$domain->registerDns();