我的设计模式--工厂方法1

我们知道好莱坞是一个生产电影的地方,每年许多精彩大片都是从这里出来的,同时也产生了许许多多的明星大牌。可以认为是一个生产电影的工厂。

好,接下来我们仔细看下好莱坞出来的电影,老的有泰坦尼克号,珍珠港。这类可以归结为剧情片。稍微近的有金刚、阿发达。这类可以归结为科幻片。那是不是可以将这些抽象成一个我们软件中的对象呢。

模型抽象:
1.好莱坞:电影工厂

2.电影 :电影类型的抽象集合

3.剧情片:珍珠港等等

4.电影出品人: 利用好莱坞资源进行电影生产的操作人

伪代码实现

1.定义个电影
public interface Movie
{
public void movieShow();//电影上映
}

2.定义剧情片 泰坦尼克号
public class Titanic implements Movie
{
//电影上映
public void movieShow()
{
//开始船头吹风
}
}

3.这个时候电影工厂出现了

public class MovieFactory
{
public static Movie createMovie(Class c)
{
//利用反射生产电影,但是不考虑异常情况了
Movie movie = (Movie)Class.forName(c.getName).newInstance();
return movie;
}

}

4.出品人出场

public class Producer
{
public static void main(String[] arg0)
{
//拍电影
Movie titanic = MovieFactory.createMovie(Titanic.class);
//电影上映
titanic. movieShow();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值