Как стать автором
Обновить

Комментарии 15

Пользуйтесь PowerPoint'ом или опенсорсовым аналогом — экспортируйте в *.png и будет Вам (и нам) счастье.
Да-да! Нарисуйте, что-бы было видно и понятно и распишите все-таки, о чем речь — какая БД, для чего все это и т.д. Вот тогда пинк и появятся.
Рисуйте от руки — это творчество
А всякие визио — это для затуманивания глаз инвесторам менеджером проекта ;)
Можно уточнить: Вы предлагаете архитектуру классов или архитектуру железяк/программков?
Только вот выбирать нужно не рандомно, а наименее нагруженный на даный момент сервер. ИМХО. Кроме того ведь можно угодить в тот, который в даный момент синхронизируется с мастером.
Какой-то бред.
База и так кэширует запросы, зачем вы делаете это за нее? Сделаете лучше?
У вас и рида и райта не общей основы, где повторное использование кода? Вы будете дублировать реализацию коннекта к базе и управление им?

Кэширование лежит где-то в стороне и непонятно зачем оно там нужно.
Ху из какой-то класс «только для чтения»? Трансфер обжект?

Кошмар, ваш рид упирается в какие-то классы, а райт ведет к «админским сервисам». Админским сервисам какие-то классы не нужны?
Нет ни слова про роли пользователей, их права, безопасность, где это все?

Это бред.
Что значит «ведет». Причем тут пользователи и тд. Это немного не тот уровень абстракции. Я лишь хотел показать как можно это представить. Интерфейс пользователя новости, статьи и прочее работают с классом read. Админские классы, которые по сути являются расширенными клиенскими работают с write.
Вы наверное не так прочитали диаграмму
Скорее всего, я не понял цели и сути, зачем это все?

Он включается в фабрику клиенских сервисов и получается что даже при ошибках скрипта злоумышленник не сможет писать в БД.

Как-бы разделение чтения-записи не спасет. Можно спастись двумя юзверями: один только читает, второй, админ, и пишет, и читает. Права надо в базе выставлять.
В таком случае ваш класс DB, или как там его, существенно усложнится.
> У вас и рида и райта не общей основы, где повторное использование кода? Вы будете дублировать реализацию коннекта к базе и управление им?
— Если бы вы были более внимательны, то заметили бы в классе DB переменные link и linkstmt которые типа pdo, pdostatement. Логично предположить что в этом классе есть функция connect и query.

Класс READ, WRITE уже наследуют его и там уже Select (read) и insert, update, delete в (write)
Именно, я решил что вы так базу обозначили, а слева от нее — как бы кэш базы.
Если это класс, то скажите, пожалуйста, зачем вам делать то, что базы и так делают?
мм… покурите мануал…
запросы типа insert, update сбрасывают кеш таблицы в которой были изменения… Еще вопросы?
а если просто правильно настроить кластер? в этом случае не нужно никакой пляски со своими классами. все уже украдено до нас.
Во первых — это что за стандарт UML? Стандарт из серии «сделай сам»?
Во вторых — нужно использовать Use case в данном случае, а не диаграмму классов.
В третьих — а вы уверены, что если разнесёте в разные места чтение и запись, то злоумышленник не получит доступ к БД? Я бы на вашем месте не был так уверен.
1. UML. Диаграмма классов.
2. UseCase тут не используется вообще-то. UseCase показывает возможности, здесь показывается уже архитектура. Курите мануал.
3. Почему-то уверен. Если пользователю (программисту) предоставить класс READ который подключается с правами только на Select то как вы себе представляете он обойдет это?
Класс не может подключаться с правами на селект. Класс позволяет получить доступ к коннекту пользователя, у КОТОРОГО есть права только на SELECT.

Вы бы объяснили подробнее, что, зачем почему?
Я, наверное, очень тугой и глупый, потому что до сих пор не понял, что вы хотите показать/спросить.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации