`

我的设计模式--模板方法1

阅读更多

在好莱坞混过的人都会了解一个原则。当你把简历递交给娱乐公司后,这些公司会告诉他们一句话:不要给我们打电话,我们会给你打。
这个就是传说中的好莱坞原则,关键之处在于娱乐公司对娱乐项目的完全控制,演员只能被动的服从总项目的安排,在需要的时候完成流程中的某一个环节。就是娱乐公司制定了一个顶级的规则。参与者不能修改,只能被动接受。

好,我们先来看《阿凡达》的一些基本场景,这些是娱乐公司的编辑已经写好的剧本

1. 打入精灵内部
2. 与精灵领主之女发生男女之间纯洁的关系
3. 接着是与城管之间那些不得不说的故事
4. 结果,N多路人挂了,主演抱得美女归

好,现在我们开始用代码的方式来实现这部电影了。

//电影 阿凡达
public abstract class Avatar
{
        //电影上演
        public final void play()
        {
                daRu();
                ooxx();
                fight();
                end();
        }
       
        //以下就是我们定义的顶级规则,只能去实现,无权修改流程
        //打入精灵内部
        protect abstract void daRu(); 

        //发生纯洁关系
        protect abstract void ooxx();

        //与城管的生死搏斗
        protect abstract void fight(); 

        //路人挂,美女归
        protect abstract void end();         
}

现在,阿汤说,我也想尝试下演阿凡达的感觉

这个时候就是一个我们就会看到下面的代码.

//主演阿汤哥
public  class Tom extends Avatar
{
      
        //打入精灵内部
        protect  void daRu()
        {
                //tom 打入敌人内部了
        }

        //发生纯洁关系
        protect  void ooxx()
        {
                //tom 发生纯洁关系
        }

        //与城管的生死搏斗
        protect void fight()
        {
                 //tom 与城管的生死搏斗
        } 

        //路人挂,美女归
        protect void end()
        {
                //tom 路人挂,美女归
        }     
}

这时,我们的导演就要出场了

//导演
public class Director
{
        public static void main(String[] arg0)
        {
                Avatar avatar = new Tom();
                avatar.play();
        }
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics