一個研發公司就如外觀設計模式,它有諸多開發團隊(子系統),前端開發團隊,程序開發團隊,數據庫開發團隊,測試團隊等等。
為各個開發團隊能高度協調,公司定義一個協調接口,使得各個開發團隊更加協調。
前端開發團隊:

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for FrontEndDevelopmentTeam /// </summary> namespace Insus.NET { public class FrontEndDevelopmentTeam { public FrontEndDevelopmentTeam() { // // TODO: Add constructor logic here // } public void FrontEndDev() { HttpContext.Current.Response.Write("前端開發..."); } } }
程序開發團隊:

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for ProgramDevelopmentTeam /// </summary> namespace Insus.NET { public class ProgramDevelopmentTeam { public ProgramDevelopmentTeam() { // // TODO: Add constructor logic here // } public void ProgramDev() { HttpContext.Current.Response.Write("程序開發..."); } } }
數據庫開發團隊:

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for DatabaseDevelopmentTeam /// </summary> namespace Insus.NET { public class DatabaseDevelopmentTeam { public DatabaseDevelopmentTeam() { // // TODO: Add constructor logic here // } public void DatabaseDev() { HttpContext.Current.Response.Write("數據庫開發..."); } } }
測試團隊:

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for TestTeam /// </summary> namespace Insus.NET { public class TestTeam { public TestTeam() { // // TODO: Add constructor logic here // } public void Testing() { HttpContext.Current.Response.Write("測試..."); } } }
研發公司(外觀類Facade):

using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for SoftwareDevelopmentCompany /// </summary> namespace Insus.NET { public class SoftwareDevelopmentCompany { FrontEndDevelopmentTeam objFrontEndDevelopmentTeam; ProgramDevelopmentTeam objProgramDevelopmentTeam; DatabaseDevelopmentTeam objDatabaseDevelopmentTeam; TestTeam objTestTeam; public SoftwareDevelopmentCompany() { objFrontEndDevelopmentTeam = new FrontEndDevelopmentTeam(); objProgramDevelopmentTeam = new ProgramDevelopmentTeam(); objDatabaseDevelopmentTeam = new DatabaseDevelopmentTeam(); objTestTeam = new TestTeam(); } public void DevelopmentAndOperation() { objFrontEndDevelopmentTeam.FrontEndDev(); objProgramDevelopmentTeam.ProgramDev(); objDatabaseDevelopmentTeam.DatabaseDev(); objTestTeam.Testing(); } } }
asp.net網頁運行:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Insus.NET; public partial class FacadeDemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SoftwareDevelopmentCompany objSoftwareDevelopmentCompany = new SoftwareDevelopmentCompany(); objSoftwareDevelopmentCompany.DevelopmentAndOperation(); } }