Java фасад библиотеки алгоритмов - lanit-tercom-school/grouplock GitHub Wiki

Блок-схема Java-фасада:

В фабрике метод getClass возвращает экземпляр определенного класса EncrBMP или EncrJMP в зависимости от типа файла, естественно набор классов может быть расширен при увеличении количества поддерживаемых типов файлов приложением.

В классах EncrBMP и EncrJMP происходит подключение и использование сторонних библиотек шифрования (как пример, неких EncrLibBMP и EncrLibJPG), но конечно, они могут быть и одной и той же библиотекой.