当前位置: 首页 > news >正文

网站联合推广方案温州红酒网站建设

网站联合推广方案,温州红酒网站建设,网络规划设计师需要掌握哪些,网站开发的广告组合模式#xff08;Composite Pattern#xff09;是一种结构型设计模式#xff0c;它允许将对象组合成树形结构来表示“部分-整体”的层次关系。组合模式能够让客户端以统一的方式对待单个对象和对象集合#xff0c;使得客户端在处理复杂树形结构的时候#xff0c;可以以…组合模式Composite Pattern是一种结构型设计模式它允许将对象组合成树形结构来表示“部分-整体”的层次关系。组合模式能够让客户端以统一的方式对待单个对象和对象集合使得客户端在处理复杂树形结构的时候可以以相同的方式对待单个对象和多个对象组合。 主要组成部分 抽象组件Component 定义了 leaf 和 composite 的对象共同实现的接口。在这里你可以定义接口的方法。 叶子Leaf 实现了抽象组件代表组合中的叶子节点。叶子节点没有子节点。 组合Composite 也实现了抽象组件代表可以有子节点的树节点。组合节点可以包含叶子或其他组合节点。 客户端Client 使用组合结构的代码通常通过接口与树结构交互。 优点 一致性客户端可以以一致的方式对待所有组成部分无论是单个对象还是组合对象。易于添加新组件可以轻松地增加新的叶子或组合无需修改现有代码。简化客户端代码客户端代码可以简单地使用组合结构不需要关注部分和整体的区别。 使用场景 需要表示对象的树形结构。客户端希望以相同的方式处理单个对象和组合对象。需要在运行时增加或删除对象。 JAVA: 创建一个文件系统的结构 // 文件系统-抽象组件 public abstract class FileSystemComponent {protected String name; //名称//构造public FileSystemComponent(String name){this.name name;}//抽象文件详情方法public abstract void showDetails(); } // 叶子类-文件 public class File extends FileSystemComponent{public File(String name) {super(name);}Overridepublic void showDetails() {System.out.println(File: name);} } // 组合类 public class Folder extends FileSystemComponent{private ListFileSystemComponent components new ArrayList();public Folder(String name) {super(name);}// 添加文件/文件夹public void addComponent(FileSystemComponent component) {components.add(component);}// 删除文件public void removeComponent(FileSystemComponent component) {components.remove(component);}Overridepublic void showDetails() {System.out.println(Folder: name);for (FileSystemComponent component : components) {component.showDetails();}} } Test(description 组合模式)public void compositeTest(){// 创建文件和文件夹File file1 new File(File1.txt);File file2 new File(File2.txt);Folder folder1 new Folder(Folder1);folder1.addComponent(file1);folder1.addComponent(file2);File file3 new File(File3.txt);Folder folder2 new Folder(Folder2);folder2.addComponent(file3);// 创建根文件夹Folder rootFolder new Folder(RootFolder);rootFolder.addComponent(folder1);rootFolder.addComponent(folder2);// 显示文件夹结构rootFolder.showDetails();} GO: 公司的人员组织就是一个典型的树状的结构现在假设我们现在有部分和员工两种角色一个部门下面可以存在子部门和员工员工下面不能再包含其他节点。 我们现在要实现一个统计一个部门下员工数量的功能 package composite// IOrganization 组织接口都实现统计人数的功能 type IOrganization interface {Count() int }// Employee 员工 type Employee struct {Name string }// Count 统计人数 func (e Employee) Count() int {return 1 }// Department 部门 type Department struct {Name stringSubOrganizations []IOrganization }// Count 人数统计 func (d Department) Count() int {c : 0for _, org : range d.SubOrganizations {c org.Count()}return c }// AddSub 添加子节点 func (d *Department) AddSub(o IOrganization) {d.SubOrganizations append(d.SubOrganizations, o) }// NewOrganization 构建组织架构 demo func NewOrganization() IOrganization {root : Department{Name: root}for i : 0; i 10; i {root.AddSub(Employee{})root.AddSub(Department{Name: sub, SubOrganizations: []IOrganization{Employee{}}})}return root }package compositeimport (github.com/stretchr/testify/asserttesting )func TestComposite(t *testing.T) {got : NewOrganization().Count()assert.Equal(t, 20, got) }
http://www.dnsts.com.cn/news/80589.html

相关文章:

  • 泰州网站关键词优化自贡企业网站
  • 如何做网站商城成武菏泽网站建设
  • wordpress手机站模板搜索引擎seo是什么意思
  • 静态网站怎么容易做阿里巴巴 商城网站怎么做
  • 360免费wifi不稳定中山网站优化排名
  • 响应网站怎么做教学视频wordpress+chrome+扩展
  • 展台展览seo优化推广工程师
  • 响应式网站 外贸权威的深圳网站推广
  • seo网站是什么意思哪些ppt网站是免费的
  • 建建建设网站公司电话江门网站制作费用
  • 手机端网站怎么做的织梦建站系统教程
  • 电子商务网站的功能百度搜索关键词优化
  • 昌宁网站建设学校网站用什么模板好
  • 网站制作素材图片做跨境的网站
  • 简单旅游网站开发如何创建div做网站
  • 网站推广品牌商业空间设计调研
  • 高效网站建设与维护岗位职责科技型中小企业服务网
  • 采集网站会员网站用什么构建
  • 电信备案网站网站主页设计模板
  • 工厂 网站建设网络营销策略方案
  • 大学校园门户网站建设方案登封快乐送餐在那个网站做的广告
  • 哪几个小说网站做网编拿的钱多做vip电影网站
  • 建设银行咸阳缴费网站外贸推广软件哪个好
  • 2017网站开发就业前景网站建设都需要什么
  • 服装网站建设策划书网站访问过程
  • frp做网站wordpress字典插件
  • 深圳建筑网站网站的信息量能做什么
  • 备案号 不放在网站首页郑州文化企业设计公司
  • 监理建设协会网站沧州网络运营中心电话
  • 论坛的网站制作拼团小程序制作平台