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

企业网站的用户需求分析杭州制作网站企业

企业网站的用户需求分析,杭州制作网站企业,一般网络公司做什么项目,东明县住房和城乡建设局网站目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、注意事项 1、核心思想 目的:通过引入一个中介对象来封装一组对象之间的交互,解决对象间过度耦合、频繁交互的问题。不管是对象引用维护还是消息的转发&am…

目录

1、核心思想

2、实现方式

2.1 模式结构

2.2 实现案例

3、优缺点分析

4、适用场景

5、注意事项


1、核心思想

目的:通过引入一个中介对象来封装一组对象之间的交互,解决对象间过度耦合、频繁交互的问题。不管是对象引用维护还是消息的转发,都由处于中心节点的中介全权负责,最终架构出一套类似于星形拓扑的网络结构。

举例

1> 微服务架构中的注册发现中心

2> 数据库中的外键关系表

3> 网络设备中的路由器

4> Spring框架的DispatcherServlet:作为HTTP请求的中介者,协调Controller、Service和View的交互

2、实现方式

2.1 模式结构

四个核心角色:

  • Mediator(中介)​:共事者之间通信的中介平台接口,定义与共事者的通信标准,如连接注册方法与发送消息方法等。
  • ConcreteMediator(中介实现)​:可以有多种实现,持有所有共事者对象的列表,并实现中介定义的通信方法。
  •  Colleague(共事者/同事)​:定义所有同事对象的公共接口,包含对中介者的引用。
  • ConcreteColleague(共事实现/同事实现)​:实现同事类接口,负责具体业务逻辑,并在需要时调用中介者的方法。

2.2 实现案例

聊天室系统:

//1、中介者接口:定义消息发送方法
interface ChatMediator {void sendMessage(String message, User sender);void addUser(User user);
}//2、具体中介者:聊天室
class ChatRoom implements ChatMediator {private List<User> users = new ArrayList<>();@Overridepublic void sendMessage(String message, User sender) {users.stream().filter(user -> !user.equals(sender)).forEach(user -> user.receive(message););}@Overridepublic void addUser(User user) {users.add(user);}
}//3、同事类抽象
abstract class User {protected ChatMediator mediator;protected String name;public User(ChatMediator mediator, String name) {this.mediator = mediator;this.name = name;}public abstract void send(String message);public abstract void receive(String message);@Overridepublic boolean equals(Object o) {if (o == null || getClass() != o.getClass()) return false;User user = (User)o;return Objects.equals(name, user.name);}
}//4、具体同事类:聊天用户
class ChatUser extends User {public ChatUser(ChatMediator mediator, String name) {super(mediator, name);}@Overridepublic void send(String message) {System.out.println(name + " 发送消息: " + message);mediator.sendMessage(message, this); // 通过中介者转发消息}@Overridepublic void receive(String message) {System.out.println(name + " 收到消息: " + message);}
}//5、客户端
public class Client {public static void main(String[] args) {ChatMediator chatRoom = new ChatRoom();User alice = new ChatUser(chatRoom, "Alice");User bob = new ChatUser(chatRoom, "Bob");User charlie = new ChatUser(chatRoom, "Charlie");chatRoom.addUser(alice);chatRoom.addUser(bob);chatRoom.addUser(charlie);alice.send("大家好!");  // 输出:Alice 发送消息 → Bob和Charlie接收bob.send("你好,Alice!"); // 输出:Bob 发送消息 → Alice和Charlie接收}
}

3、优缺点分析

优点:

  • 降低耦合度:对象间不直接依赖,通过中介者通信。

  • 集中控制逻辑:交互逻辑集中在中介者,便于维护和扩展。

  • 简化对象职责:同事类只需关注自身行为,无需管理复杂交互。

  • 灵活扩展:新增同事类时,只需修改中介者,无需改动其他类。

缺点:

  • 中介者复杂度高:中介者可能承担过多职责,成为“上帝对象”。

  • 性能开销:中介者处理大量交互时可能成为性能瓶颈。

  • 设计难度:需合理划分中介者与同事类的职责,避免过度设计。

4、适用场景

  • 对象间交互复杂

    • 如GUI组件(按钮、输入框)联动,需统一协调。

  • 系统需解耦

    • 如微服务架构中,通过API网关协调服务间调用。

  • 多对多通信场景

    • 如聊天系统、多玩家游戏中的角色互动。

  • 需要集中管控的场景

    • 如空中交通管制系统、智能家居设备控制。

5、注意事项

  • 避免中介者臃肿

    • 若中介者逻辑过于复杂,可拆分多个子中介者或使用分层设计。

  • 合理设计通信协议

    • 定义清晰的中介者接口,明确消息传递格式和规则。

  • 性能优化

    • 对高频交互场景,采用异步处理或缓存机制提升效率。


文章转载自:

http://lkZkobS8.xzjsb.cn
http://0U4KSt4I.xzjsb.cn
http://1xLyUiav.xzjsb.cn
http://oKXDKjl2.xzjsb.cn
http://m9DbMVuR.xzjsb.cn
http://O994Qz7R.xzjsb.cn
http://lVv0CaJT.xzjsb.cn
http://72SHq89x.xzjsb.cn
http://eMMwvdvx.xzjsb.cn
http://j9H9lg7m.xzjsb.cn
http://qKhgk7Yd.xzjsb.cn
http://MzTMiZY7.xzjsb.cn
http://juefYByl.xzjsb.cn
http://zrEW73LQ.xzjsb.cn
http://2rasTnsL.xzjsb.cn
http://Z287aPlp.xzjsb.cn
http://zONhgaOM.xzjsb.cn
http://1Blom1Nn.xzjsb.cn
http://mlFTDKt8.xzjsb.cn
http://gP7rLaX8.xzjsb.cn
http://bGoqMYaq.xzjsb.cn
http://X1ho5uDL.xzjsb.cn
http://d0GwrrFH.xzjsb.cn
http://0sYamnKq.xzjsb.cn
http://5gXDk6Cq.xzjsb.cn
http://C7mAjR1z.xzjsb.cn
http://TEn4JAu3.xzjsb.cn
http://ruCIU7un.xzjsb.cn
http://Y7VQ10iC.xzjsb.cn
http://EJhe82iV.xzjsb.cn
http://www.dtcms.com/wzjs/632643.html

相关文章:

  • 邯郸建设网站的公司哪家好推广策略英语
  • 网站服务器怎么查询wordpress模板安装
  • 江西建设质量安全监督网站wordpress 404比较多
  • 网站出现搜索广州实时热点新闻事件
  • 网站开发知识页面布局标准格式
  • 长沙专业公司网站建设源头wordpress更改鼠标
  • 重庆网站建设重庆网站设计做网站需要的图片
  • 黑白高端大气网站设计工作室织梦dedecms模板eclipse开发网站开发
  • 怎么做网站盈利太阳能建设网站
  • 建三江建设局网站南宁网站推广排名
  • 唐山做网站建设的公司做网站有哪几种语言
  • 阿里云个人网站备案哪个网站可以做破案h5
  • 成都建设诚信网站网站域名域名
  • 网站模板 登陆注册网站不需要手机验证的
  • 做网站哪家好 青岛微小店网站建设官网
  • 自己如何做网站教程企业融资的目的和意义
  • 怎么做门淘宝网站平谷青岛网站建设
  • 建设银行官方网站地址php网站开发实例教程的作者
  • 网站广告设计怎么做海安企业网站建设
  • 现代农业建设 乡网站棋牌游戏网站模板
  • 哈尔滨精品建站知名网站制作服务
  • 网站建设 银川模板网站 建设教材
  • 电子商务网站建设最好的公司电影网页设计html
  • 安徽网站搭建免费开店铺
  • 优秀企业网站制作网站变量
  • 网站建设沧州游戏服务器搭建
  • 做非法网站有哪些wordpress 4.5.3中固定链接
  • 怎么做英文网站济南设计公司招聘信息
  • 免费名字设计logo网站食品公司
  • 电子商务网站功能页面中国重点城镇建设集团网站