<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    waysun一路陽光

    不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks

    一.工廠模式,以數據庫的業務邏輯為簡單例子,里面有很多不合理的地方,目的是為了闡述對工廠模式的理解。

    1.聲明接口BaseDAO

    /**
     **<p>工廠接口</p>
     **作者:    
     **Blong:http://www.tkk7.com/1504
     **E-mail:yyk1504@163.com
     **QQ:251218333
     **<p>2008-12-16 下午02:08:15</p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;

    public interface BaseDAO
    {
        /**數據庫的插入方法*/
        public void save();  
        /**數據庫的更新方法*/
        public void update();
        /**數據庫的刪除方法*/
        public void delete();
    }

    2.MYSQL具體實現MysqlDAO

    *<p>Mysql數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://www.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MysqlDAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MysqlDao
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:16:27</p>
            */
            System.out.println("Mysql在此處實現更新....");
        }

        
    }

    3.SQL2000具體實現類

    /**
     *<p>MsSql2000數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://www.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MsSql2000DAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MsSql2000DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:21:04</p>
            */
            System.out.println("MsSql2000在此處實現更新....");
        }

        }

    4.SQL2005具體實現類

    /**
     *<p>MsSql2005數據庫實現業務邏輯類</p>
     *作者:    
     *Blong:http://www.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008 2008-12-16 </p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class MsSql2005DAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現刪除....");
        }

        public void save() {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *MsSql2005DAO
             *
             *Author:ASUS_1
             <p>2008 2008-12-16 下午02:23:38</p>
            */
            System.out.println("MsSql2005在此處實現更新....");
        }

        
    }

    5.ORACLE具體實現類

    /**
     **<p>Oracle數據庫實現業務邏輯類</p>
     **作者:    
     **Blong:http://www.tkk7.com/1504
     **E-mail:yyk1504@163.com
     **QQ:251218333
     **<p>2008-12-16 下午02:11:59</p>
    */
    package cn.com.model.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class OracleDAO implements BaseDAO
    {

        public void delete()
        {
            /**
             *<p>此方法的功能介紹</p>
             *delete
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現刪除....");
        }

        public void save()
        {
            /**
             *<p>此方法的功能介紹</p>
             *save
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現保存....");
        }

        public void update()
        {
            /**
             *<p>此方法的功能介紹</p>
             *update
             *OracleDao
             *
             *Author:ASUS_1
             *<p>2008 2008-12-16 下午02:12:59</p>
            */
            System.out.println("Oracle在此處實現更新....");
        }

      
    }

    6.工廠類

    /**
     *<p>數據庫業務工廠</p>
     *作者:    
     *Blong:http://www.tkk7.com/1504
     *E-mail:yyk1504@163.com
     *QQ:251218333
     *<p>2008-12-16 </p>
    */
    package cn.com.model.factory;
    import cn.com.model.factory.*;
    public class DaoFactory

    {
         public BaseDAO createFactory(String type)
         {   
                     if ("Mysql".equals(type))
                     {   
                         return new MysqlDAO();   
                     }
                     else
                     if ("MsSql2000".equals(type))
                     {   
                         return new MsSql2000DAO();   
                     }
                     else  
                     if ("MsSql2005".equals(type))
                     {   
                         return new MsSql2005DAO();   
                     }
                     else  
                     if ("Oracle".equals(type))
                     {   
                         return new OracleDAO();   
                     }
                         return null;   
                 }   
               
                 public static void main(String[] args)
                 {   
                     DaoFactory creator = new DaoFactory();   
                     BaseDAO mysqlDAO=creator.createFactory("Mysql");  
                     mysqlDAO.save();
                     mysqlDAO.update();
                     mysqlDAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO msSql2000DAO=creator.createProduct("MsSql2000");  
                     msSql2000DAO.save();
                     msSql2000DAO.update();
                     msSql2000DAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO msSql2005DAO=creator.createProduct("MsSql2005");  
                     msSql2005DAO.save();
                     msSql2005DAO.update();
                     msSql2005DAO.delete();
                    
                     System.out.println("---------------------------------");
                    
                     BaseDAO oracleDAO=creator.createProduct("Oracle");  
                     oracleDAO.save();
                     oracleDAO.update();
                     oracleDAO.delete();

                 }    
    }

     

    posted on 2008-12-16 16:50 weesun一米陽光 閱讀(2297) 評論(4)  編輯  收藏 所屬分類: 23種編程模式

    評論

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-16 16:53 草包書生
    堅決反對用mysql,前一段時間用mysql弄德我哭笑不得。還是用sql好。  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-16 21:23
    樓上的你太太太夸張了吧?
    習慣問題  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2008-12-17 09:36 caiban
    不能因為你不習慣就說mysql不好吧
    那我不習慣SQL,是否也可以說:堅決反對用mssql,前一段時間用mssql弄德我哭笑不得。還是用mysql好。呵呵  回復  更多評論
      

    # re: java設計模式(1)--工廠模式及其實例【原創】 2011-12-16 23:16 chzhxiang
    @草包書生
    呵呵,有利有弊的  回復  更多評論
      

    主站蜘蛛池模板: 777成影片免费观看| 国产免费播放一区二区| 人妻丰满熟妇无码区免费| 亚洲最大激情中文字幕| 一级毛片在线免费播放| 亚洲第一福利网站在线观看| 疯狂做受xxxx高潮视频免费| 亚洲国产成人精品女人久久久| 国产精品亚洲精品日韩动图| 一区国严二区亚洲三区| 国产免费高清69式视频在线观看| 亚洲区不卡顿区在线观看| 国产人成网在线播放VA免费| 亚洲国产三级在线观看| 亚欧免费一级毛片| 亚洲午夜电影一区二区三区| 啦啦啦在线免费视频| 日日摸日日碰夜夜爽亚洲| 久久精品国产亚洲一区二区三区 | 亚洲粉嫩美白在线| 成人男女网18免费视频| 亚洲国产成人久久综合| 一级毛片直播亚洲| 成人A片产无码免费视频在线观看| 久久久久久久亚洲Av无码| 国产三级在线观看免费| 特级毛片爽www免费版| 亚洲精品国产精品乱码不卡√| 亚洲免费精彩视频在线观看| 亚洲伊人久久大香线蕉AV| www.亚洲色图| 久久久久久国产精品免费无码 | 亚洲av日韩av无码黑人| 一级女人18毛片免费| 狼人大香伊蕉国产WWW亚洲 | 亚洲视频在线免费播放| 日韩在线免费播放| a毛片免费播放全部完整| 亚洲1234区乱码| 亚洲国产免费综合| 国产免费的野战视频|