Mixed formulation for Poisson equation

https://fenicsproject.org/olddocs/dolfin/1.5.0/python/demo/documented/mixed-poisson/python/documentation.html
In 9.1
We are now ready to define the variational forms a and L. Since, u0=0u0=0 in this example, the boundary term on the right-hand side vanishes.

Define variational form a = (dot(sigma, tau) + div(tau)*u + div(sigma)v)dx L = - fvdx

It only remains to prescribe the boundary condition for the flux. Essential boundary conditions are specified through the class DirichletBC which takes three arguments: the function space the boundary condition is supposed to be applied to, the data for the boundary condition, and the relevant part of the boundary.
Is it possible to get into details of this? Why did you combine these two?
Is it to possible to do it separately?