軟件研發公司,外觀設計模式(Facade)


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

前端開發團隊:

FrontEndDevelopmentTeam
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("前端開發...");
        }
    }
}


程序開發團隊:

ProgramDevelopmentTeam
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("程序開發...");
        }
    }
}


數據庫開發團隊:

DatabaseDevelopmentTeam
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("數據庫開發...");
        }
    }
}


測試團隊:

TestTeam
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):

SoftwareDevelopmentCompany
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網頁運行:

FacadeDemo.aspx.cs
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();
    }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM