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

企业网站设计建设服务器怎么能在网上卖货

企业网站设计建设服务器,怎么能在网上卖货,网站空间商拿不回数据,三星网上商城app官方版一、定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 二、核心角色: Subject:抽象主题被观察的角色,管理观察者集合,提供注册…

一、定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

二、核心角色:

        Subject:抽象主题被观察的角色,管理观察者集合,提供注册/注销方法,定义通知逻辑。

        ConcreteSubject:具体主题,存储具体状态数据,状态变更时触发通知。

        Observer:抽象观察者,定义更新接口,使得主题状态发生变化时更新自己。

        ConcreteOberver:具体观察者,实现抽象观察者的更新接口,以便主题状态发生变化时更新自身状态。

三、简单代码示例:

// 观察者接口
public interface Observer {
    void update(String message);
}

// 被观察者抽象类
public abstract class Subject {
    private List<Observer> observers = new ArrayList<>();

    public void attach(Observer observer) {
        observers.add(observer);
    }

    public void detach(Observer observer) {
        observers.remove(observer);
    }

    public void notifyObservers(String message) {
        for (Observer observer : observers) {
            observer.update(message);
        }
    }
}

// 具体被观察者(如网络请求模块)
public class NetworkManager extends Subject {
    public void onDataReceived(String data) {
        notifyObservers(data); // 数据到达时通知观察者
    }
}

// 具体观察者(如UI组件)
public class UIComponent implements Observer {
    @Override
    public void update(String message) {
        Log.d("ObserverDemo", "更新UI:" + message);
    }
}


NetworkManager manager = new NetworkManager();
manager.attach(new UIComponent());
manager.onDataReceived("新数据"); // 触发UIComponent的update()
 

四、Android中的应用场景

1.事件驱动机制:按钮点击监听,ListView或RecyclerView的Adapter通过notifyDataSetChanged()通知视图刷新,BroadcastReceiver。

2.数据绑定与状态同步:ContentObserver监听数据库变化,LiveData实现数据驱动UI更新

3.跨模块通信:EventBus,RxBus

五、优缺点:

优点

        解耦性强:被观察者无需了解具体观察则细节,仅依赖接口。

        扩展灵活:可动态增删观察者,支持多级事件触发。

缺点

        性能损耗:大量观察者或高频通知会引发性能问题。

        潜在内存泄漏:需要注意观察者生命周期,避免持有无效引用。

http://www.dtcms.com/a/601959.html

相关文章:

  • K8s新手入门:从“Pod创建“到“服务暴露“,3个案例理解容器编排
  • 关于《大学物理》网站资源建设的思路vs2013做网站教程
  • WPF 、WebView2 、WebView2 、CoreWebView2 、HostObject 是什么?它们之间有什么关系?
  • 大连最好的做网站的公司wordpress国产网校
  • C语言编译器 | 如何高效使用和优化C语言编译器
  • C语言指针深度剖析(2):从“数组名陷阱”到“二级指针操控”的进阶指南
  • 中企动力做网站 知乎网站后台系统是用什么做的
  • Linux内核信号传递机制完全解析:从force_sig_info到kick_process的完整路径
  • 佛山新网站建设哪家好建筑方案设计流程步骤
  • 计算机工作原理
  • 北京做网站建设比较好的公司上海网站建设企业名录
  • AEC-Q100 stress实验详解#3——HTSL(高温储存寿命测试)
  • 洋洋点建站wordpress判断是否登录
  • 做的好的农产品网站怎样开通微商城平台
  • Python | 变量如何定义,数据类型介绍
  • 12. 2 雅可比法
  • 【OpenCV + VS】图像通道的均值和方差计算
  • (5)框架搭建:Qt实战项目之主窗体菜单栏
  • 网页C语言在线编译 | 快速、便捷的编程体验
  • 网站免费注册建站培训班
  • WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程
  • 万网的网站建设好吗北京模板网站建站
  • Leaflet入门,Leaflet如何修复瓦片之间有白线问题
  • Unity一分钟思路---UI任务条:宝箱位置如何准确卡在百分比位置上
  • 在线做爰a视频网站个人网站搭建详细步骤
  • 网站开发 工作量云台山旅游景区网站建设内容
  • Android 使用MediaMuxer+MediaCodec编码MP4视频异步方案
  • 第14章 智能指针
  • GSV6128E/ACP---嵌入式Display port 1.4到 LVDS转换器,带音频提取和嵌入式MCU
  • 网站建设ftp上传是空目录仿做网站的网站