zoukankan      html  css  js  c++  java
  • 业务领域建模Domain Modeling

      我的工程实践业务是设计和实现一个搜索引擎,并在此基础上搭建一个食谱查询服务。

      1)找出业务中用到的类

      食谱、食材、食材处理步骤、食谱爬虫、请求分发处理器、分词器、相似度衡量器(计算词向量相似度)、食谱Queryer、Web服务请求者、用户、系统管理员

     2)建立类和类之间的联系

      类与类之间的关系通常包括:

         关联:意味着两个模型之间存在语义联系,在用例中的表现通常为两个名词被动词连接起来

          如食谱被爬虫添加、爬虫被管理员配置等。

         组合:即包含关系,整体和部分不可分开且生命周期一致

          如食材和食材处理步骤是食谱的一部分,它们之间是组合关系。

                 依赖:表明一个元素(源元素)的定义或实现依赖另一个元素(被依赖元素)的定义或实现

          如相似度衡量器要将词向量转化器输出的词向量结构进行相似度计算,故相似度衡量器依赖于词向量转化器。

                 继承:一般到特殊

          如用户和系统管理员都属于Web服务请求者请求服务。

     3)添加类的重要属性

    方法 属性
    系统管理员
    管理爬虫、管理数据库、管理ACL表
    账户名、密码
    用户

    按食材查询食谱、按食谱名查询食谱

    Cookie
    请求分发处理器

    接收请求、解析请求、URI路由、静态文件服务

    Connection List、Request Router
    分词器 对输入串分词  
    相似度衡量器 词向量相似度计算 相似度算法参数
    爬虫 配置、启动、停止 Target URI、Worker number 、Frequency
    食谱Queryer 食谱CRUD 食谱集合、索引

      最终关键类图:

      


     

  • 相关阅读:
    mybatis-plus物理分页插件使用
    mybatis-plus提供支持ActiveRecord模式
    mybatis-plus通用Service
    mybatis-plus返回查询总记录数
    Mybatis-Plus查询返回Map类型数据
    Mybatis-Plus条件构造器condition动态判断条件
    Mybatis-Plus条件构造器select方法返回指定字段
    mybatis-plus条件构造器UpdateWrapper实例
    mybatis-plus条件构造器QueryWrapper实例
    这玩意比ThreadLocal叼多了,吓得why哥赶紧分享出来。
  • 原文地址:https://www.cnblogs.com/demonatic/p/11922118.html
Copyright © 2011-2022 走看看