Забуваєм все (але не все) що написано вище. Вирішив що поки що буде клас (поняття, абстрація) що буде давати відповідь на питання "чи може користувач виконати щось?""Проблеми" пов'язані з ПараметрамиДоступу я обрав не випадково. Обрав для того щоб все написання було якось логічно пов'язано. На попередні питання, проблеми конкретної чіткої відповіді не отримав. Мабуть тому що конкретної чіткої відповіді тут не може бути. Та і запитував я трішки взагалі-по-загалях. Та і вникати в суть написаного ніхто не хоче.Пишемо далі.Спочатку опис предпроблеми:ПараметрДоступу для перегляду1 - пост можуть переглядати всі користувачі. І залогінені, і не залогінені.2 - пост можуть переглядати тільки друзі користувача, користувач повинен бути залогінений3 - пост може переглядати тільки автор поста, користувач повинен бути залогінений.Як у мене в процедур-функц стилі (точно не пам'ятаю, дивитись в код не хочу): Іде перевірка і залогіненості, і переметрів доступу, і статусу дружби.Якщо ..., то показати пост, або вивести "пост тільки для друзів", або "автор обмежв доступ до поста".Все це типу спагетті-коду, тому що багато перевірок підряд.ПИТАННЯ: Якщо згідно наукових рекомендацій стосовно ООП, потрібно розділяти вся і все на найменші складові, то...Чи потрібно окремо реалізовувати методи для перегляду поста з ПараметромДоступу 1, 2, і 3 (showOpenPost, showFrendPost, showAvtorPost)?---Тут я запитую тільки про Пост, але цей підхід буде застосовуватись і до Фото, і до Фотоальбому, та інш.
Цитата: gdekjifgb від 2019-09-24 13:48:15Пишемо далі.Спочатку опис предпроблеми:ПараметрДоступу для перегляду1 - пост можуть переглядати всі користувачі. І залогінені, і не залогінені.2 - пост можуть переглядати тільки друзі користувача, користувач повинен бути залогінений3 - пост може переглядати тільки автор поста, користувач повинен бути залогінений.Як у мене в процедур-функц стилі (точно не пам'ятаю, дивитись в код не хочу): Іде перевірка і залогіненості, і переметрів доступу, і статусу дружби.Якщо ..., то показати пост, або вивести "пост тільки для друзів", або "автор обмежв доступ до поста"....ПИТАННЯ: Якщо згідно наукових рекомендацій стосовно ООП, потрібно розділяти вся і все на найменші складові, то...Чи потрібно окремо реалізовувати методи для перегляду поста з ПараметромДоступу 1, 2, і 3 (showOpenPost, showFrendPost, showAvtorPost)?---...... Якщо спростити, то має бути якась сутність (наприклад клас, функція) яка дасть відповідь на запитання isAuthorized(action, user, entity) -> bool. Де action це дія, яку намагається виконати користувач (наприклад VIEW, EDID, DELETE, CREATE, і так далі), user - це користувач який намагається виконати дію, entity - це сутність, над якою намагаються виконати дію (наприклад екземпляр поста, фото, і т.д).
Пишемо далі.Спочатку опис предпроблеми:ПараметрДоступу для перегляду1 - пост можуть переглядати всі користувачі. І залогінені, і не залогінені.2 - пост можуть переглядати тільки друзі користувача, користувач повинен бути залогінений3 - пост може переглядати тільки автор поста, користувач повинен бути залогінений.Як у мене в процедур-функц стилі (точно не пам'ятаю, дивитись в код не хочу): Іде перевірка і залогіненості, і переметрів доступу, і статусу дружби.Якщо ..., то показати пост, або вивести "пост тільки для друзів", або "автор обмежв доступ до поста"....ПИТАННЯ: Якщо згідно наукових рекомендацій стосовно ООП, потрібно розділяти вся і все на найменші складові, то...Чи потрібно окремо реалізовувати методи для перегляду поста з ПараметромДоступу 1, 2, і 3 (showOpenPost, showFrendPost, showAvtorPost)?---...
Ще раз - чому пост має знати щось про доступ до себе (чому у нього мають бути будь які методи show...())? Пост це пост і він як сутність нічого не знає про параметри доступу і різні способи відображення.