Composite模式是构造型的设计模式之一,通过递归手段来构造诸如文件系统之类的树形的对象结构;Composite模式所代表的数据构造是一群具有统一接口界面的对象集合,并可以通过一个对象来访问所有的对象(遍历)。
Component<-----> MediaElement
public interface MediaElement {
public void add(MediaElement);
public void remove(MediaElement);
public void display();
}
Leaf <-----> Media
public class Media implements MediaElement {
String name;
mediaType type;
public void display() {
// 根据mediaType来决定显示的方式,对图片、网页一直显示,对视频文件,一直循环播放。
}
}
Composite <-----> MediaList 、 TimeList 、 DateList
public class MediaList implements MediaElement {
time duration; // 针对一个图片、网页显示的时长,针对视频,设为null;
ArrayList<Media> list; // 多个Media组成的列表
public void add(Media) {
// 添加一个Media对象到list;
}
public void remove(Media) {
// 从list中删除一个Media对象;
}
public void display() {
loop
foreach(list)
// 若list的当前Media为图片或网页,则调用其display,并在duration时间后,结束display。
// ???若为视频,这里好像有点问题
}
}
public class TimeList implements MediaElement {
time startTime; // 开始时间
time endTime; // 结束时间
ArrayList<MediaList> list; // 多个MediaList组成的列表
public void add(MediaList) {
// 添加一个MediaList对象到list;
}
public void remove(MediaList) {
// 从list中删除一个MediaList对象;
}
public void display() {
// 到startTime时,开始
loop {
foreach(list) {
// 调用MediaList的display
}
// 到达结束时间后,结束 。
}
}
}
public class DateList implements MediaElement {
date var1;
ArrayList<TimeList> list;
public void add(TimeList) {
// 添加一个TimeList对象到list;
}
public void remove(TimeList) {
// 从list中删除一个TimeList对象;
}
public void display() {
// 到指定日时,开始
foreach(list) {
// 调用TimeList的display
// list遍历一遍后,结束。
}
}
}
呃。。。不知道我依照高楼大厦建了个小屋,还是挖了个地洞,先记下来再说,设计模式的具体应用有点难。
分享到:
相关推荐
### DFT Composite Suite Pro 使用手册知识点解析 #### 一、软件概述 **DFT Composite Suite Pro**是一款专为Adobe After Effects (AE)平台设计的强大视觉特效合成工具包。该套件集成了高级软件设计与丰富的电影...
qualcomm usb composite device 9025 www@wujupeng.com
### USB Composite API for Linux #### 10.1 Composite 设备简介 USB Composite 类是指能够支持多种设备功能的 USB 设备。例如,一个 USB 设备可能同时具备鼠标和键盘的功能。这种类型的设备与只具备单一功能的...
《Composite2011中文手册》是一份专为合成软件用户设计的详尽参考资料,它提供了全面的指导和深入理解该软件所需的各项功能。作为一款处理图像和视频的专业工具,Composite2011在视觉效果制作领域具有广泛的应用。这...
USB Composite Device
"三星手机连电脑的驱动——SAMSUNG Mobile USB Composite Device"是用于在Windows操作系统中连接和管理三星智能手机的重要软件组件。这个驱动程序允许用户通过USB接口将手机与计算机进行通信,实现数据同步、充电、...
微软MSR的图像合成软件,简单的拼接,效果还不错 Microsoft Image Composite Editor
**组合模式(Composite Pattern)详解** 组合模式是一种结构型设计模式,它将对象组织成树形结构,使得用户可以对单个对象和对象集合进行统一操作。这种模式在处理部分与整体关系时非常有用,允许我们一致地处理...
标题中的“2.4G无线传输+USB Composite Device”指的是在一个STM32微控制器上同时实现2.4GHz无线通信和USB复合设备的功能。2.4GHz无线传输通常用于低功耗、短距离的数据通信,如蓝牙或Wi-Fi。而USB Composite Device...
USB复合设备(USB Composite Device)是指能够同时支持多种USB设备类别的设备,比如鼠标和键盘的组合、打印机和扫描仪的组合等。这样的设备在USB规范中被定义为具有多个功能集,每个功能集对应一个特定的USB设备类型。...
**复合模式(Composite Pattern)**是一种结构型设计模式,它允许我们构建复杂的对象结构,并能像操作单个对象一样处理整个结构。在计算机科学中,这种模式尤其适用于表示部分-整体层次结构,使得用户可以一致地处理...
**C++ Composite模式详解** Composite模式是设计模式中的一种结构型模式,它允许你将对象组织成树形结构,以表示“部分-整体”的层次结构。在C++中,Composite模式使得客户可以对单个对象和对象组合进行一致的处理...
《Microsoft.Practices.CompositeUI.WinForms.dll:探索与应用》 在.NET框架的开发环境中,Microsoft.Practices.CompositeUI.WinForms.dll库扮演着一个重要的角色。它作为Composite UI Application Block(复合UI...
本资料包"impact-composite_复合材料冲击_impact_ABAQUS_composite_"聚焦于探讨如何利用ABAQUS对复合材料进行冲击响应分析,特别是关注设定不同初速度和固定速度条件下的影响。 复合材料是由两种或更多种具有不同...
《Kurento-Tutorial-Composite-JS:构建多用户视频会议》 Kurento是一个强大的开源WebRTC媒体服务器,它提供了构建实时通信应用所需的工具和功能。本教程以"Kurento-tutorial-composite-js"为例,深入讲解如何在...
在`Composite.zip`这个文件中,包含的示例应该展示了如何使用组合模式来实现这一概念。 在设计模式的世界里,组合模式是一种非常实用的工具,尤其在处理具有树形结构的数据时。它将个体对象(叶子对象)和组合对象...
《深入理解Microsoft.Practices.CompositeUI.dll:DLL文件在软件开发中的核心作用》 Microsoft.Practices.CompositeUI.dll是微软公司开发的一个动态链接库(DLL)文件,它属于微软的Composite UI应用程序框架,该...
Composite UI Application Block December 2005 (C#)
Microsoft.Practices.CompositeUI.Windows.dll )