• 关于面向对象--oop


    这两天在做大数据方面的项目看到关于job作业调度的设计,扣了两天了,感触良多,记下来做个反省。

    这是一个精简版的图,其中还有一些没有划到,其实到这里目前对我来说已经足够了。

    看完图之后进行分析,我只抛砖。

    ps:任何面向对象的都遵循的设计方法。

    1. 接口job  只是一个接口,提供job的最直接的操作,也是job本身的操作;
    2. jobContext提供给job的上下文环境可以跟job是联系关系,更确切的说是聚合关系,jobcontext有明确的责任范围,给job提供外围的服务;
    3. AbstractJob 抽象job类 ,准确的说是包装了job和jobContext,提供了更便捷的方法;
    4. ProcessJob抽象osJob类,是操作系统级别的进程抽象类,提供了环境变量、配置文件、目录等信息基本上具备了执行的外围条件
    5. ShellJob、HiveJob、JavaJob、MapReduceJob、HadoopShellJob 通过这么设计就可以直接实现受保护的方法,进而实现所调用过程的设计。

    当然调用的时候还会用的调度器Schedule来完善自动、手动调度job的内容等。

    不过通过以上可以明显发现我们大部分程序设计应该遵循的思想了……

    我只抛砖啦……

  • 相关阅读:
    今日计划
    今日计划
    个人品质
    翻译 《Why Indy?》计划&进度表
    今日计划
    一粒老鼠屎
    开两本字典聊天的感觉
    ObjectiveC初学指南
    todo格式定义
    制作TortoiseSVN最新版本的中文DLL(转)
  • 原文地址:https://www.cnblogs.com/joqk/p/3456452.html
Copyright © 2020-2023  润新知