Это слишком много абстракции? - PullRequest
1 голос
/ 28 мая 2019

Некоторые могут знать, откуда взялся исходный код, приведенный ниже (хотя это будет упрощено).Вопрос в том, когда константа областей безопасности становится «полезной» в ООП.

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;
    }
}

Я знаю, что многие пользователи сначала подумали: «Этот вопрос слишком широкий» или «Вне области действия этого сайта».Но я думаю, что это оправдание для того, чтобы не пытаться абстрагировать логику хорошего дизайна ООП.Куда падает отсечка?Я попытался сформулировать очень конкретный вопрос, который описывает (или начинает) общее руководство, когда стоит взять процедурную часть кода и инкапсулировать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...