1

我正在编写一个自定义域管理类,它使用各种外部服务,一种使它们一起工作的包装类。

我将把连接逻辑放在这个类中的什么地方?我不会一次需要所有服务,所以把它放在构造函数中是没有意义的,我实际上认为一些方法作为静态方法会更好,因为它们并不真正相互关联,他们唯一的共同点就是底层的联系。

我将采用以下方法:

  • registerDomain()(联系 Nominet)
  • 更新域(),
  • domainAvailable(), (联系 Nominet)
  • registerDNS(), (联系亚马逊 & Nominet)
  • 更新DNS(),

我应该在每次调用中检查连接属性(如果不存在则创建它)还是在类构造函数中连接?

4

1 回答 1

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();
于 2011-07-20T10:01:19.087 回答