当前位置:首页 > 网络编程 > 软件语言 > .NET > VB.Net中文教程(11) Prototype样式

VB.Net中文教程(11) Prototype样式

点击次数:52 次 发布日期:2008-11-06 08:07:36 作者:源代码网
源代码网推荐
广告载入中
主题: Prototype样式
源代码网推荐副题: 多形性、接口(Interface)
源代码网推荐
源代码网推荐
源代码网推荐????????? 内容 ?????????
源代码网推荐v 1. 样式
源代码网推荐v 2. 对象之原型(object prototype)
源代码网推荐v 3. 以VB落实Prototype样式
源代码网推荐v 4. Prototype样式之应用----- 组件之设计与组装
源代码网推荐
源代码网推荐
源代码网推荐1. 样式
源代码网推荐 Erich Gamma 等人的名著──"Design Patterns: Elements of Reusable Object-Oriented Software" 含有23个重要的设计样式(design pattern)。顾名思义﹐「样式」就是大家可「有样学样﹐依样画葫芦」﹐并一而再、再而三地在不同场合﹐重复使用(reuse) 它来解决常见之问题。
源代码网推荐 样式必须常常使用﹐且愈纯熟愈好﹐才能随外界环境(context) 而加以变化﹐才能确实解决问题(problem) 。像孙子兵法、太极拳法皆含有许多样式(或称为招式)﹐必须心领神会﹐并实际练习之﹐才能达到炉火纯青之地步。其主要原因是﹕单一样式(招式)常只解决个小问题﹐而大问题可能需要多种样式混合使用才行。如何将小样式组合成为大样式来解决大问题呢﹖这常需一套完整的法则(rule)﹐通称为「样式语言」(pattern language)。本文引用Gamma书中的Prototype样式﹐说明如何以VB的接口来实作之,也让您更能善用多形性观念。以下就请您仔细看如何使用Prototype 样式了。
源代码网推荐
源代码网推荐
源代码网推荐 图1、Prototype样式的UML图
源代码网推荐
源代码网推荐
源代码网推荐2. 对象之原型 (object prototype)
源代码网推荐 人们日常生活中﹐常见下述说法﹕
源代码网推荐
源代码网推荐 「我要养一只像加菲猫一样的猫」
源代码网推荐 「我将来要娶个美如西施的妻子」
源代码网推荐 ......
源代码网推荐
源代码网推荐其中﹐加菲猫和西施皆是prototype (或译为范例)。当您说上述两句话时﹐听者立即能经由prototype 对象(即加菲猫或西施)来了解您心中所欲描述之新对象。在软件方面﹐使用者可藉prototype 来告诉计算机﹕
源代码网推荐
源代码网推荐 「我要的对象就像这个prototype 对象」
源代码网推荐
源代码网推荐于是﹐计算机依该prototype 对象来造出一模一样的新对象给使用者。
源代码网推荐 回想﹐我们所熟悉的VB、C#、Java或C 语言中﹐皆是借着「类别」来描述对象之特性﹐然后计算机则依类别之描述来造出新对象。这种就通称为class-based programming ﹔而前者称为prototype-based programming 。
源代码网推荐 随着﹐软件零组件(sofrware IC) 观念的流行﹐prototype-based programming 观念也愈来愈重要了。既使像VB语言﹐也能支持prototype-based programming 。
源代码网推荐
源代码网推荐
源代码网推荐3. 以VB落实Prototype样式 软件开发网 www.mscto.com
源代码网推荐 上图1是Gamma书中所列出的prototype样式。下图2则是个实际的例子。
源代码网推荐
源代码网推荐
源代码网推荐 图2、绘图对象的Prototype
源代码网推荐
源代码网推荐 对象设计者从Shape衍生出Circle及Rectangle两类别,并各诞生1个prototype对象,且存入ShapeList串行或数组之中。设计者必须为各类别定义Clone( )函式来诞生新对象,并构成多形性。于是对象装配者只需呼叫Clone( )函数就能获得新对象,而不必具有类别观念。未来,设计者可从Shape类别衍生出许许多多子类别,并把对象放入ShapeList中,供装配者使用。
源代码网推荐 兹看看如何以VB来落实上图2的UML模式:
源代码网推荐
源代码网推荐"ex01.bas
源代码网推荐Imports System.ComponentModel
源代码网推荐Imports System.Drawing
源代码网推荐Imports System.WinForms
源代码网推荐"-------------------------------------------------------------------------
源代码网推荐Class Shape
源代码网推荐 Protected lx, ly As Integer
源代码网推荐 Public Sub SetXY(ByVal x As Integer, ByVal y As Integer)
源代码网推荐 lx = x
源代码网推荐 ly = y
源代码网推荐 End Sub
源代码网推荐 Public Overridable Sub Draw()

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华