关于软件多版本升级的一些思考

最近一直在思考web软件的升级的管理,之前都是单独写的,一个一个版本的升级,但是后来发现夸版本升级比较麻烦,随着版本的升级,代码越来越多,代码不能重用,一直想不到一个即简单代码又简洁的方法。

using System;
using System.Web;

namespace Caicai.Jingpin.UI.Update
{
    public class U_1_2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string action = Request.QueryString["action"];
            
            if (action == "update")
            {
                this.Update();
            }
        }

        public void Update()
        {
            //升级文件程序
            HttpContext.Current.Response.Write("V1.0升级到V2.0成功!");
            HttpContext.Current.Response.Write("<br />");
        }
    }
}


using System;
using System.Web;

namespace Caicai.Jingpin.UI.Update
{
    public class U_2_3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string action = Request.QueryString["action"];
            string version = Request.QueryString["version"];

            if (version == "1")
            {
                new U_1_2().Update();
            }

            if (action == "update")
            {
                this.Update();
            }
        }

        public void Update()
        {
            //升级文件程序
            HttpContext.Current.Response.Write("V2.0升级到V3.0成功!");
            HttpContext.Current.Response.Write("<br />");
        }
    }
}


using System;
using System.Web;

namespace Caicai.Jingpin.UI.Update
{
    public class U_3_4 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string action = Request.QueryString["action"];
            string version = Request.QueryString["version"];

            if (version == "1")
            {
                new U_1_2().Update();
                new U_2_3().Update();
            }

            if (version == "2")
            {
                new U_2_3().Update();
            }

            if (action == "update")
            {
                this.Update();
            }
        }

        public void Update()
        {
            //升级文件程序
            HttpContext.Current.Response.Write("V3.0升级到V4.0成功!");
            HttpContext.Current.Response.Write("<br />");
        }
    }
}


using System;
using System.Web;

namespace Caicai.Jingpin.UI.Update
{
    public class U_4_5 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string action = Request.QueryString["action"];
            string version = Request.QueryString["version"];

            if (version == "1")
            {
                new U_1_2().Update();
                new U_2_3().Update();
                new U_3_4().Update();
            }

            if (version == "2")
            {
                new U_2_3().Update();
                new U_3_4().Update();
            }

            if (version == "3")
            {
                new U_3_4().Update();
            }

            if (action == "update")
            {
                this.Update();
            }
        }

        public void Update()
        {
            //升级文件程序
            HttpContext.Current.Response.Write("V4.0升级到V5.0成功!");
            HttpContext.Current.Response.Write("<br />");
        }
    }
}
posted @ 2011-05-12 12:48  菜菜灰  阅读(2166)  评论(17编辑  收藏  举报