1 00:00:01,560 --> 00:00:07,680 The pattern is used for providing an interface to the client while hiding all the complexities of a 2 00:00:07,680 --> 00:00:08,140 system. 3 00:00:09,210 --> 00:00:15,210 Typically, there is no predefined UML for this pattern because generally this pattern will wrap around 4 00:00:15,210 --> 00:00:17,120 whatever API you are working with. 5 00:00:17,520 --> 00:00:21,450 But let's see the diagram of the code that will be presented in this module. 6 00:00:23,080 --> 00:00:28,420 As shown in this diagram, do you object structure encapsulated in the left block seems to be pretty 7 00:00:28,420 --> 00:00:30,540 complicated to use by a client application. 8 00:00:31,030 --> 00:00:36,250 Therefore, a facade is needed for providing an interface between the client and the complex program 9 00:00:36,250 --> 00:00:37,650 listed in the lock. 10 00:00:38,800 --> 00:00:45,100 As you can see, the facade utilizes composition containing references to the objects of the program, 11 00:00:45,310 --> 00:00:49,670 as well as their corresponding methods for performing the respective operations. 12 00:00:51,130 --> 00:00:56,950 Normally, the facade will include all the operations from the life cycle of the API you are working 13 00:00:56,950 --> 00:00:57,220 with. 14 00:00:58,450 --> 00:01:01,480 Let's have a look at the implementation of this pattern in the code.