In order to help maintain the model as a pure and helpful language construct, the team must typically implement a great deal of isolation and encapsulation within the ___domain model. Consequently, a system based on Domain___domain-driven Designdesign can come at a relatively high cost. While Domain___domain-driven Designdesign provides many technical benefits, such as maintainability, Microsoft recommends that it be applied only to complex domains where the model and the linguistic processes provide clear benefits in the communication of complex information, and in the formulation of a common understanding of the ___domain.<ref>[http://msdn.microsoft.com/en-us/library/ee658117.aspx#DomainModelStyle Microsoft Application Architecture Guide, 2nd Edition]</ref>