• 个人知识管理系统Version1.0开发记录(07)


            模 块 复 用

          原本还要测试一会的,突然出现一连串诡异的问题,比如,编译少加载个类啊,输入地址少个字母啊,改几行代码一改就是半小时啊。这是在提醒我们大脑疲倦了,所以果断小结,下次继续。这一次简单完成了一个复用性功能模块,用户模块。程序,是为了解决问题的,那么用户模块解决了什么问题呢?对用户而言,用户注册,用户登录,用户应用;对管理者而言,用户权限;对商人而言,用户筛选,用户定位,用户......用户都快被玩坏了,比如多系统单点登录sso,对用户有好处,商业价值不可估量。所以,每一种技术的出现,必然是因为产生了新的社会需求,商业需求尤其明显。多找商业伙伴聊天,这是一件有趣的事情。

      时间不早了,记录下大致思路: 

    1、一个常用用户级联,公司-》部门-》职务-》员工,编写四个实体类。

    2、一个实体类,对应数据库一张表,用sqldeveloper创建四张表。建表前,登录system,(1)创建表空间,(2)创建一个新用户,(3)赋予dba等权限,方便以后数据库存储备份导入导出。用创建的新用户登录,创建表格。

    3、数据持久层,dao接口。查询,将数据库的相关数据复制一份到计算机内存。增加、修改,将计算机内存的相关数据写入数据库。删除,删除计算机内存的一个对象,删除数据库的一条数据。

    4、数据持久层,dao实现类。用户登录(根据用户名和密码查找员工,返回一个员工对象,属性和值)。用户登录是查询操作,将数据库的相关数据复制一份到计算机内存。

    5、工厂设计模式。在数据持久层和业务逻辑层之间,做一个纽带,方便更改接口实现方式,方便维护。

    6、业务逻辑层接口和实现类,用于做一些有效性验证的工作。比如,完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确以及数据类型验证;用户权限的合法性判断等。

    7、Junit4单元测试。逻辑是否合理?是否遗漏情况?类、方法、变量是否正常使用?参数是否正确书写?......只要是人,都会犯错。

    8、控制层,逻辑层和表示层之间的纽带。表示层对控制层说:我要取份数据。控制层没有数据,于是对逻辑层说:我要取份数据。逻辑层回答:我这里有很多类型的数据模型,你得带上需求类型选择适合的。控制层表示毫无压力:我设计个开关好了,表示层1来了,我给她数据模型1;表示层2来了,我给她数据模型2;表示层3来了,我给,等等,你的需求太特别了,我得找总部申请,给您私人定制。

    9、web.xml配置。这个稍微有点复杂,后面用多了再做小结。

    10、最高权限管理员dyl登陆。话说,想让Google Chrome浏览器保存您的密码吗?保存密码 or 此网站一律不保存密码。在用户界面上测试,一边测试一边修改,然后一连串诡异的事情相聚发生,我们的大脑里冒出了一连串的问号,哪里出问题呢?哪里出问题呢?哪里出问题呢?......

          平时空闲时间修修补补,会把用户模块界面测试通过;1000个知识点收集的事情,竟然还没有完成,三分之一,我们已经迫不及待想开发知识体的功能模块了,一边等待一边多想想也是好的。下次,我们会考虑,(1)用框架修改控制层,(2)或者数据层,(3)或者写一个实用的小功能模块。OK,我们下次见。

  • 相关阅读:
    Python【第四章】:socket
    vb与C#的区别,片段记录
    使用XUACompatible来设置IE浏览器兼容模式
    notepad++ 的golang语法高亮
    ReSharper 配置及用法(转)
    宽度可变的Table
    JS禁止选中文本方法【转】
    只借助HTML分别禁用IE8, IE9的兼容视图模式(Compatibility View)
    测试浏览器对js版本的支持
    写有效率的SQL查询(II)(转载)
  • 原文地址:https://www.cnblogs.com/youla/p/3803339.html
Copyright © 2020-2023  润新知