Factory Method
来源:互联网 发布:轩辕世界弑神进阶数据 编辑:程序博客网 时间:2024/06/07 00:56
Defination
Define an interface for creating an object, but let subclasses decide which class to instantiate. Lets a class defer instantiation to subclass. - Gof
Problem
Project has already been published to a DLL or dilivered to customer. We cannot change it.
Usage
Make one factory to each of the classes we need to instantiate.
In the client code, just use the factory class to instantiate class.
Sample Code
package FactoryMethod
{
public class User
{
public function User()
{
}
public function login()
{}
}
}
package FactoryMethod
{
public class CCTVUser extends User
{
public function CCTVUser()
{
super();
}
public override function login():Object
{
}
}
}
package FactoryMethod
{
public class CommonUser extends User
{
public function CommonUser()
{
super();
}
public override function login():Object
{}
}
}
package FactoryMethod
{
public class UserFactory
{
public function UserFactory()
{
}
public function create():User
{}
}
}
package FactoryMethod
{
public class CCTVUserFactory extends UserFactory
{
public function CCTVUserFactory()
{
super();
}
public override function create():User
{
return new CCTVUser();
}
}
}
package FactoryMethod
{
public class CommonUserFactory extends UserFactory
{
public function CommonUserFactory()
{
super();
}
public override function create():User
{
return new CommonUser();
}
}
}
package FactoryMethod
{
public class ClientCode
{
public function ClientCode()
{
}
private function cctvLogin():void
{
var cctvFactory:UserFactory = new CCTVUserFactory();
var cctvUser:User = cctvFactory.create();
cctvUser.login();
}
}
}
- Factory Method
- factory method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- Factory Method
- factory method
- Factory Method
- Factory Method
- windows2003 IIS服务器配置
- 嵌入式系统开发之中断控制的实现
- spring的事务管理
- 科技部基础软件产品重大专项2009年课题(转载)
- M2M简介(图文)
- Factory Method
- oracle lead 使用实践
- 李小龙《寸劲拳》
- updatepanel使用遇到的一个注意!
- Silverlight 2.0 資料庫應用程式開發(1)
- 分页
- hibernate 未明确定义列 小记
- ASP.NET 2.0防止SQL注入攻击
- innerHTML,outerHTML innerHTML