zoukankan      html  css  js  c++  java
  • [egret+pomelo]实时对战游戏杂记(5)

    之前大体了解了pomelo服务端的运行的大体运行流程,下面详细的学习一下在服务端比较重要的一个容器模块bearcat,在bearcat的wiki中我们可以对其有个大概的了解,在服务端示例的代码中也大量的出现了对bearcat模块的使用。

    如playerHandler.js中:

    module.exports = function (app) {
      //设置bearcat bean
      return bearcat.getBean({
        id: "playerHandler",//唯一Id
        func: PlayerHandler,//所对应的对象
        //参数 相当于调用  var PlayerHandler= function(app){}
        args: [{
          name: "app",
          value: app
        }],
        //依赖注入
        props: [{
          //对象名称
          name: "areaService",
          //引用文件
          ref: "areaService"
        }, {
          name: "dataApiUtil",
          ref: "dataApiUtil"
        }, {
          name: "consts",
          ref: "consts"
        }]
      });
    };

    总结起来,bearcat有很多功能,在使用上最方便的就是其作为容器,可以在预加载的时候,将代码中的所有模块进行封装,让我们可以根据模块的id,轻松的对模块功能进行调用,不用再去想模块文件的位置来做“require(xxx)”或实例化操作

    其中getBean({xxx});方法的参数中,也有些配置需要我们注意的地方。

    比如:

    1.对象的单例、实例化模式

    scope : scope 可以是 singleton 或者是 prototype, 默认情况下是 singleton

    2.抽象

    abstract : 用于定义一个bean是抽象的, 即不会实例化, 默认情况下是 false

    3.继承

    parent : 用于定义bean之间的继承关系, 类似于对象之间的继承关系, 子类会继承父类 prototype 里面所没有的method, 值为parent bean id

    4.初始化及销毁

    init : 在构造函数被调用之后执行的init方法, init 方法可以是async异步的
    destroy : 析构函数, 当容器优雅的关闭的时候, destroy 方法会被调用, 来做一些销毁工作
  • 相关阅读:
    (转)LINUX CENTOS7下安装PYTHON
    (转)python的paramiko模块
    (转)Db2数据库一次生产故障详细记录---数据库坏页
    (转)性能调优和问题诊断最佳实践,第 1 部分
    (转)性能调优和问题诊断最佳实践,第 2 部分
    字符串
    html框架
    数组
    生成伪随机数
    控制语句和循环
  • 原文地址:https://www.cnblogs.com/z-yue/p/8176787.html
Copyright © 2011-2022 走看看