Ты — моя единственная любовь
Matilda, я всегда интересовался происхождением её имени. Возможно, оно возникло после долгих размышлений. Я очень рад, что она появилась в моей жизни, принеся с собой сожаления и упрямство. Надеюсь, что благодаря открытому миру я смогу внести свой вклад в улучшение всего.
«Леон: Профессионал» — это тёплая и грустная история. В ней рассказывается о девочке по имени Матильда (Matilda). Она как луч света освещает и согревает мир убийцы Леона, или же они согревают друг друга. Мне очень нравится этот фильм, особенно смелая и любящая девочка Матильда.
Матильда: Неужели жизнь всегда такая трудная, или только детство?
Леон: Всегда.
Матильда: Леон, мне кажется, я тебя люблю. Это мой первый раз, когда я кого-то люблю. Ты знаешь?
Леон: Ты никогда никого не любила, откуда ты знаешь, что это любовь?
Матильда: Потому что я это чувствую.
Леон: Где?
Матильда: В моём животе, раньше там был узел, а теперь его нет.
Леон: Матильда, я рад, что твой живот больше не болит, но это ничего не значит.
Давно, возможно, когда я только начал изучать разработку программного обеспечения, у меня появилась идея создать идеальную систему прикладного программного обеспечения. Хотя время идёт, эта идея часто откладывается; с развитием технологий разработки программного обеспечения я постепенно понимаю, что нет ничего идеального, есть только лучшее. Идеальные вещи должны существовать только в воображении.
И вот она пришла, как будто я дал себе обещание. Как я уже говорил, Matilda представляет всё прекрасное в этом мире (по крайней мере, в моём сердце).
Matilda на самом деле не имеет особых отличий. Она представляет собой систему управления правами доступа на основе Springboot, использующую Spring Security и Mybatis Plus, разработанную с использованием метода плагинов и зависящую от Hutool, с шаблонизатором Thymeleaf.
// Системное исключение: в одном и том же родительском отделе существует отдел с таким же именем.
DEPT_REPORT_AT_SAME_PARENT("0100401", "В одном и том же родительском отделе существует отдел с таким же именем."),
// Системное исключение: целевой отдел не существует. Идентификатор: {}.
DEPT_NO_EXIST("0100402", "Целевой отдел не существует. Идентификатор: {}."),
// Системное исключение: отдел [{}] содержит дочерние отделы, которые нельзя удалить.
DEPT_HAS_CHILDREN("0100403", "Отдел [{}] содержит дочерние отделы, которые нельзя удалить."),
// Системное исключение: отдел [{}] содержит пользователей, которых нельзя удалить.
DEPT_HAS_USER("0100404", "Отдел [{}] содержит пользователей, которых нельзя удалить."),
// Системное исключение: родительский отдел не может быть самим собой
DEPT_SAME_AS_PARENT("0100405", "Родительский отдел не может быть самим собой")
...
Ожидает заполнения.
Я стараюсь следовать семи принципам проектирования. Вот моё понимание:
Открывать и закрывать, интерфейс изолировать, комбинировать/агрегировать, заменять Лисков, знать меньше, иметь одну обязанность, зависеть от инверсии.
- Принцип открытия и закрытия: открыт для расширения и закрыт для модификации.
- Принцип изоляции интерфейса: клиент не должен использовать интерфейсы, которые ему не нужны, классы должны быть построены на минимальном интерфейсе.
- Принцип комбинирования/агрегации: при повторном использовании существующих объектов следует отдавать предпочтение комбинированию, а не наследованию.
- Принцип замены Лискова: подклассы не должны произвольно нарушать структуру, определённую родительским классом (методы). Подклассы могут использоваться там, где используются родительские классы. Наоборот, это невозможно.
- Принцип минимального знания: чем меньше знаний, тем лучше. Инкапсуляция.
- Принцип единой ответственности: изменение причины, вызывающей класс, должно быть минимальным (класс делает только одно, метод делает только одну вещь).
- Принцип инверсии зависимостей: ориентированное на интерфейс программирование. Зависит от абстракции, а не от конкретного. Матильда: модули и функции | Матильда: модули безопасности | Контроль доступа Spring Security (на основе сессии) | | --- | --- | | Матильда: модули расписания | Управление планированием задач на основе Spring scheduling api | | demo-* | Примеры часто используемых функций | | Матильда: модули сервисов | Общая зависимость для управления связью между модулями. Есть такая идея. | | Матильда: модули генерации кода | Идея создания кода. Основная идея заключается в том, что здесь можно хорошо применить идею объектно-ориентированного программирования. | | Матильда: модули токенов безопасности | Контроль доступа Spring Security на основе токенов | | Матильда: модули Quartz | Управление задачами планирования на основе Quartz |
Интерфейс использует thymeleaf + easyui-super-theme (спасибо автору). Я думаю, этого достаточно. По сравнению с layui, я лично предпочитаю vue, но это уже другая история.
Вход:
Управление пользователями:
Управление ролями:
Контроль доступа:
Авторизация: роли и разрешения:
Авторизация: роли и пользователи:
Отдел управления:
Словарь данных:
Планирование задач:
Документация по интерфейсу:
Системный журнал:
Настройка темы:
Если вам нравится, пожалуйста, поставьте лайк и подпишитесь. Я знаю, что она не идеальна. Добро пожаловать, чтобы присоединиться ко мне. Спасибо всем. Надеюсь, в будущем Matilda будет становиться всё лучше и лучше, и не забудет своих первоначальных намерений!
Давайте, добро пожаловать в единомышленники! Кроме того, я надеюсь, что вы, уважаемые старшие братья, сможете дать мне больше советов (* ̄︶ ̄).
Свяжитесь со мной:
— QQ группа: 783897511 — QQ: 1060702785 — Блог: https://section2014.github.io/
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )