网站制作

本类阅读TOP10

·IIS 安装配置全攻略
·html基础学习笔记(2)
·html基础学习笔记(1)
·用VS.NET打开网上下载的.NET web项目出错的解决办法
·如何在网页上实现进度条
·限制TextArea区的文字输入数量
·HTML 4.0 语言快速参考
·在weblogic上配置SSL
·页面垂直居中的两种方法
·Zope/Plone内容管理系统的探讨与应用-内容管理系统(CMS)的概述

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Abstract Factory构造的花园

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站


 

名称 Abstract Factory
结构
意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
适用性
  • 一个系统要独立于它的产品的创建、组合和表示时。
  • 一个系统要由多个产品系列中的一个来配置时。
  • 当你要强调一系列相关的产品对象的设计以便进行联合使用时。
  • 当你提供一个产品类库,而只想显示它们的接口而不是实现时。

它的一个重要的作用就是改变应用程序的外观.让我们通过国内一个用java实现了的的例子来看一看抽象工厂模式是如何在应用层被使用的。假设你才买了一套住宅,屋顶有一个花园,而你需要设计一下花园的布局。花园右侧有一个花台,边上需要种一排植物,中心需要种主体植物。根据风格的不同,花园可以被设计为典雅型、使用型和懒人型。 这是用别人的java例子改成的.

 

class Garden
{
        private function Garden()
        {
        }
        public function getShade():Plant// 花台中的植物
        {
                return ;
        }
        
        public function getCenter():Plant// 中间的植物
        {
                return;
        }
        
        public function getBorder():Plant// 边上的植物
        {
                return;
        }
        
}

// ElegantGarden.as (典雅型)
class ElegantGarden extends Garden
{
        public function getShade():Plant
        {
                return new Plant("郁金香");
        }
        public function getCenter():Plant
        {
                return new Plant("榕树");
        }
        public function getBorder():Plant
        {
                return new Plant("兰草");
        }
}

// PracticalGarden.as(实用型)
class PracticalGarden extends Garden
{
        public function getShade():Plant
        {
                return new Plant("葡萄");
        }
        public function getCenter():Plant
        {
                return new Plant("石榴");
        }
        public function getBorder():Plant
        {
                return new Plant("丝瓜");
        }
}

// LasyGarden.as(懒人型)
class LasyGarden extends Garden
{
        public function getShade():Plant
        {
                return new Plant("月季");
        }
        public function getCenter():Plant
        {
                return new Plant("茶花");
        }
        public function getBorder():Plant
        {
                return new Plant("竹");
        }
}

下载源文件
此源文件中有一个grant skinner的GForm类,开发Form应用的时候,可以参考一下。



相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有