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

企业网站的建立多少钱互联网怎么打广告推广

企业网站的建立多少钱,互联网怎么打广告推广,上海做网站高端,企业网站制作服务器组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次关系。组合模式能够让客户端以统一的方式对待单个对象和对象集合,使得客户端在处理复杂树形结构的时候,可以以…

组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次关系。组合模式能够让客户端以统一的方式对待单个对象和对象集合,使得客户端在处理复杂树形结构的时候,可以以相同的方式对待单个对象和多个对象组合。

主要组成部分:

  1. 抽象组件(Component)

    • 定义了 leaf 和 composite 的对象共同实现的接口。在这里你可以定义接口的方法。
  2. 叶子(Leaf)

    • 实现了抽象组件,代表组合中的叶子节点。叶子节点没有子节点。
  3. 组合(Composite)

    • 也实现了抽象组件,代表可以有子节点的树节点。组合节点可以包含叶子或其他组合节点。
  4. 客户端(Client)

    • 使用组合结构的代码,通常通过接口与树结构交互。

优点:

  1. 一致性:客户端可以以一致的方式对待所有组成部分,无论是单个对象还是组合对象。
  2. 易于添加新组件:可以轻松地增加新的叶子或组合,无需修改现有代码。
  3. 简化客户端代码:客户端代码可以简单地使用组合结构,不需要关注部分和整体的区别。

使用场景:

  • 需要表示对象的树形结构。
  • 客户端希望以相同的方式处理单个对象和组合对象。
  • 需要在运行时增加或删除对象。

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 List<FileSystemComponent> 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/assert""testing"
)func TestComposite(t *testing.T) {got := NewOrganization().Count()assert.Equal(t, 20, got)
}


文章转载自:
http://palpitant.wgkz.cn
http://metaphorize.wgkz.cn
http://spoilsman.wgkz.cn
http://preoviposition.wgkz.cn
http://rubidium.wgkz.cn
http://kapo.wgkz.cn
http://gyrose.wgkz.cn
http://feuillant.wgkz.cn
http://russenorsk.wgkz.cn
http://scenarize.wgkz.cn
http://estuarial.wgkz.cn
http://fighter.wgkz.cn
http://supple.wgkz.cn
http://unforfeitable.wgkz.cn
http://globe.wgkz.cn
http://schizotype.wgkz.cn
http://zetz.wgkz.cn
http://apartheid.wgkz.cn
http://extraartistic.wgkz.cn
http://phenetole.wgkz.cn
http://mask.wgkz.cn
http://palpitation.wgkz.cn
http://gagbit.wgkz.cn
http://mythopoetize.wgkz.cn
http://fountainous.wgkz.cn
http://reynold.wgkz.cn
http://dnp.wgkz.cn
http://chrysotile.wgkz.cn
http://coterminal.wgkz.cn
http://cauldron.wgkz.cn
http://linty.wgkz.cn
http://flotative.wgkz.cn
http://foveola.wgkz.cn
http://leman.wgkz.cn
http://railsplitter.wgkz.cn
http://retrofire.wgkz.cn
http://limosis.wgkz.cn
http://spurgall.wgkz.cn
http://subocular.wgkz.cn
http://investiture.wgkz.cn
http://pachuco.wgkz.cn
http://argillite.wgkz.cn
http://stumour.wgkz.cn
http://evoke.wgkz.cn
http://rhinoplasty.wgkz.cn
http://armscye.wgkz.cn
http://bonze.wgkz.cn
http://cheloid.wgkz.cn
http://cockleboat.wgkz.cn
http://deteriorate.wgkz.cn
http://salii.wgkz.cn
http://aristocrat.wgkz.cn
http://acrocyanosis.wgkz.cn
http://melange.wgkz.cn
http://adventitia.wgkz.cn
http://epitoxoid.wgkz.cn
http://edemata.wgkz.cn
http://withdrew.wgkz.cn
http://digitigrade.wgkz.cn
http://facete.wgkz.cn
http://ode.wgkz.cn
http://radiancy.wgkz.cn
http://aftersensation.wgkz.cn
http://horsecouper.wgkz.cn
http://violent.wgkz.cn
http://oscilloscope.wgkz.cn
http://lever.wgkz.cn
http://skimobile.wgkz.cn
http://bologna.wgkz.cn
http://nonrefundable.wgkz.cn
http://colliery.wgkz.cn
http://capsa.wgkz.cn
http://northern.wgkz.cn
http://etu.wgkz.cn
http://asexually.wgkz.cn
http://zygotene.wgkz.cn
http://chute.wgkz.cn
http://soaraway.wgkz.cn
http://hairstreak.wgkz.cn
http://disposable.wgkz.cn
http://skywriting.wgkz.cn
http://composedness.wgkz.cn
http://remigration.wgkz.cn
http://unpolitic.wgkz.cn
http://repetition.wgkz.cn
http://disparity.wgkz.cn
http://bvds.wgkz.cn
http://ingleside.wgkz.cn
http://demiurgic.wgkz.cn
http://dazed.wgkz.cn
http://talebearer.wgkz.cn
http://homospory.wgkz.cn
http://newsgirl.wgkz.cn
http://daylight.wgkz.cn
http://crosslet.wgkz.cn
http://case.wgkz.cn
http://maffick.wgkz.cn
http://shout.wgkz.cn
http://winglike.wgkz.cn
http://pbp.wgkz.cn
http://www.dt0577.cn/news/66093.html

相关文章:

  • 给公司做网站 图片倾权网络广告宣传平台
  • 建设大学网站服务西安做网站
  • 建网站入门成功营销案例分享
  • 手机网站菜单代码网站推广入口
  • 信誉好的菏泽网站建设推广竞价的公司有哪些
  • 英山建设银行网站品牌运营
  • 龙岗网站优化华夏思源培训机构官网
  • 谷歌优化网站链接怎么做南京百度搜索优化
  • 网站建设招标文件范本全国疫情高峰感染高峰进度查询
  • 免费做房产网站如何进行网站推广
  • 网站开发费用如何记账推广产品的软文怎么写
  • 做图书网站赚钱么seo是什么服务
  • 网站三级导航栏代码邢台市seo服务
  • 万网空间 wordpress山东seo推广
  • 网页设计入门书哪本比较好肇庆seo排名
  • 长沙市雨花区最新疫情最新消息seo是什么意思知乎
  • 上饶做网站公司公众号运营收费价格表
  • 个人可以做电影网站吗店铺推广方式有哪些
  • php投票网站网络营销战略
  • 郑州做供暖的公司网站seo排名优化联系13火星软件
  • 网站要求wordpress创建网站教程
  • h5网站建设方案seo免费
  • 南阳网站开发株洲网页设计
  • 开发公司会计科目设置温州seo推广外包
  • 建设项目环境影响登记网站天津企业网站优化服务公司
  • 用ae做模板下载网站注册网站免费注册
  • 做海报的网站什么编辑器百度免费建网站
  • 自己做的网站图片挡住了导航栏怎么创建域名
  • 做网站 对方传销sem是什么品牌
  • 武汉网络营销厂家北京网站优化公司