honeytrap.devexercisesfacade.javaSettings
Description

14. Facade

EasyStructural1 hidden requirement

Depending on the one door into a subsystem, not on the rooms behind it

PublishJob puts a video out, and the tests pass.

It runs the three subsystem steps itself, in the right order, with the right codec — so the order and the codec are now facts about PublishJob as well as about the subsystem.

VideoFacade already does exactly this and offers publish(name). Rewrite publish() to go through it.

The thing being graded is the caller, not the facade. A facade only earns its keep when what is behind it changes.

Run compiles every file and runs Tests.java — the tests you can read.

Submit runs those again, then applies 1 requirement you have not seen, one at a time.

Your code is never edited. Each requirement is added to the project as it stands. If the design is right, nothing you wrote has to change.

  • Ctrl/⌘ + Enter runs the tests