facade pattern what sets the facade pattern apart one key distinction with regards to the facade pattern is that the facade is used not just to encapsulate single object but also to provide wrapper that presents simplified interface to group of complex sub-systems that is easy to use without unneeded functions or complexity whenever possibleyou want to limit the amount of knowledge and or complexity you expose to the world outside the system the more you allow access to and interaction with systemthe more tightly coupled that system becomes the ultimate result of allowing greater depth of access to your system is system that can be used like black boxwith clear set of expected inputs and well-defined outputs the facade should decide which internal classes and representations to use it is also within the facade that you will make changes in terms of functions to be assigned to external or updated internal systems when the time comes to do so facades are often used in software libraries since the convenient methods provided by the facade make the library easier to understand and use since interaction with the library happens via the facadeusing facades also reduces the dependencies from outside the library on its inner workings as for any other systemthis allows more flexibility when developing the library not all apis are created equaland you will have to deal with poorly designed collections of apis howeverusing the facade patternyou can wrap these apis in single well-designed api that is joy to work with one of the most useful habits you can develop is that of creating solutions to your own problems if you have system you need to work with that is less than idealbuild facade for it to make it work in your context if your ide misses tool you lovecode up your own extension to provide this function stop waiting for other people to come along and provide solution you will feel more empowered every day that you take an action to shape your world to fit your needs let' implement our pos backend as just such facade since we do not want to build the whole systemseveral the functions defined will be stubswhich you could expand if you chose to class sale(object)def __init__(self)pass