Oop 这是不是太抽象了?
有些人可能知道下面的源代码来自何处(尽管它被简化了)。问题是,在OOP中,安全作用域常量何时变得“有价值”Oop 这是不是太抽象了?,oop,Oop,有些人可能知道下面的源代码来自何处(尽管它被简化了)。问题是,在OOP中,安全作用域常量何时变得“有价值” 类验证 { //请求的权限。 私有静态$CLASS_作用域=[ 服务1:许可证1;设置范围(自身:$CLASS_范围); //加载服务帐户凭据。 $client->setAuthConfig($pathToJsonFile); 返回$client; } } 我知道很多用户首先想到的是“这个问题太广泛”或“超出了这个网站的范围”。但我认为这些都是不试图抽象好的OOP设计逻辑的借口。截止点在
类验证
{
//请求的权限。
私有静态$CLASS_作用域=[
服务1:许可证1;设置范围(自身:$CLASS_范围);
//加载服务帐户凭据。
$client->setAuthConfig($pathToJsonFile);
返回$client;
}
}
我知道很多用户首先想到的是“这个问题太广泛”或“超出了这个网站的范围”。但我认为这些都是不试图抽象好的OOP设计逻辑的借口。截止点在哪里?我试图提出一个非常具体的问题,概括(或开始)关于什么时候值得将代码的过程部分进行封装的一般指南。您是否询问使用范围数组的原因?而不是函数中的临时数组?这与抽象有什么关系?您是否询问使用范围数组的原因?而不是函数中的临时数组?Wh至少,这与抽象有关吗?
class Authenticate
{
// The permissions to request.
private static $CLASS_SCOPES = [
Service1:Permission1; <-- valuable here? I think not.
Service1:Permission2; <-- valuable here? maybe, but I think not.
Service1:Permission3; <-- valuable here?
Service1:Permission4; <-- valuable here? etc...
];
public function run($pathToJsonFile, $email = null)
{
// Create an authenticated client object.
$client = $this->createAuthenticatedClient($pathToJsonFile, $email);
// Create a service object.
$service = new Service($client);
$this->non-existent_function_do_something($service);
}
private function createAuthenticatedClient($pathToJsonFile, $email)
{
$client = new Client();
$client->setApplicationName('service sample');
$client->setScopes(self::$CLASS_SCOPES);
// Load the service account credentials.
$client->setAuthConfig($pathToJsonFile);
return $client;
}
}