— Амиго, сейчас я дам тебе несколько крутых задач! Ты такого еще никогда не делал, это верх мастерства! Где же она… эээ… Ну… Вобщем, иди и реши те задачи, которые у тебя еще не решены. Отдохни и приходи в следующий раз, я как раз ее найду для тебя.
Ого, наконец-то оазис среди бескрайней пустыни задач сложности "Анрил"))
Побольше бы таких задач, где за адекватное время можно самостоятельно дойти до решения, не прибегая к чтению комментариев для расшифровки супер-абстрактных условий или без часовых гуглежек еще не пройденного материала)
Так намного понятнее:
SecurityProxy - это паттерн проектирования, который позволяет управлять доступом к объекту, добавляя дополнительный слой защиты вокруг него. Этот паттерн является разновидностью паттерна Proxy и используется для обеспечения безопасности при работе с объектами.
В Java SecurityProxy может быть реализован с помощью создания прокси-класса, который наследует интерфейс объекта, которому нужна защита, и реализует его методы. Этот класс также содержит ссылку на оригинальный объект и методы, которые проверяют права доступа перед вызовом методов оригинального объекта.
Например, если у нас есть объект, который должен быть защищен от неавторизованного доступа, мы можем создать прокси-класс, который проверяет права доступа пользователя перед вызовом методов оригинального объекта. Это позволяет управлять доступом к объекту и предотвратить несанкционированный доступ к его методам и данным.
Использование SecurityProxy позволяет создавать безопасные приложения, обеспечивая контроль доступа к объектам и ресурсам. Он может быть полезен в приложениях, которые обрабатывают конфиденциальную информацию или выполняют критически важные операции, где важна безопасность и защита от несанкционированного доступа.
У меня вопрос к администрации Джавараш по задаче "Шаблонный метод":
Если почитать про паттерн "Шаблонный метод", то это есть такой метод, в котором вызываются абстрактные методы (которые реализуются в потомках), но сам этот метод нельзя реализовать и переопределить его поведение в потомке. Поэтому в патерне такой метод объzвляется как final
public final void run() {
prepareForTheGame();
playGame();
congratulateWinner();
}
Однако в этом случае валидатор не принимает решение , и пишет, что в классе Game должен быть определен метод run, в котором в правильной очередности вызваны методы prepareForTheGame(), playGame(), congratulateWinner().
Все работает как надо. Паттерн реализован - но валидатор не принимает.
Ради хохмы сделал объявление метода run без final
public void run() {
prepareForTheGame();
playGame();
congratulateWinner();
}
И - вы решили эту задачу... и так далее.
Но без final, мы можем переопределить этот метод в наследнике. А это уже совсем не паттерн "Шаблонный метод"!
Поправьте что-ли валидатор...
Мммммм в задачах не нужно построить адронный коллайдер. Браво.
Почему всегда нельзя давать задачи не на олимпиаду, а на закрепление материала?
Я придерживаюсь такой точки зрения: лучше эти задачи будут средние и лёгкие, или хоть пусть все лёгкие, но чтобы они работали на закрепление материала и их было много.
Я столько времени потерял за всё моё обучение на эти олимпиадные задачки, которые ты можешь решать дня 3 по 5 - 8 часов в день (да, такое бывало, потому что ты ищешь путь решения и читаешь кучу нового материала, но перед тем как его прочитать ты должен его отфильтровать, а это занимает кучу времени).
Необычно, да😀. Тоже люблю Java за гибкость и возможность решить задачу очень многими путями.👍
П/С: Но психопат, живущий по соседству, который прочёл этот код, уже выехал...😵
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ