个人知识管理系统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,我们下次见。
个人知识管理系统Version1.0开发记录(07)的更多相关文章
- 个人知识管理系统Version1.0开发记录(09)
MyBatis初试 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索. 运用Mybatis框 ...
- 个人知识管理系统Version1.0开发记录(01)
架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并 ...
- 个人知识管理系统Version1.0开发记录(02)
第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...
- 个人知识管理系统Version1.0开发记录(12)
最近碰到个问题,在五个工作日内阅读一个百万行左右代码量的新项目集合,如何解决呢? 第一个工作日,环境观察.待在那个项目组,看项目成员们在做些什么事情,开发,测试,聊天,或多或少可以收集到一些项目相关的 ...
- 个人知识管理系统Version1.0开发记录(10)
物理分页 这次我们运用Mybatis拦截器来实现物理分页,后面会运用动态sql来实现,或者运用Map/CollectionUtils/StringUtils编写工具类来实现.oracle是运用的row ...
- 个人知识管理系统Version1.0开发记录(11)
(1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracl ...
- 个人知识管理系统Version1.0开发记录(08)
切入点 前面,我们已经搭建好了web端的一种基本结构,需要进一步定位的主要问题有三点: 1.界面的选择和确定,用extjs做的初步样式,进一步改动为jqueryUI/html,再进一步改变为HTML5 ...
- 个人知识管理系统Version1.0开发记录(05)
demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行 ...
- 个人知识管理系统Version1.0开发记录(06)
demo view 夜已深,我们先简单演示一下,完成一个小段落了.涉及工具及技术知识:图形处理软件photoshop cs6,js类库ext. 思路如下: 1.下载ps6,有破解版本的,dll文件覆盖 ...
随机推荐
- drop user ora-604 ora-54
SQL> drop user EFMIS_87_LK cascade;drop user EFMIS_87_LK cascade*ERROR at line 1:ORA-00604: error ...
- 2.5 – Garbage Collection 自动垃圾回收 Stop-the-world vs. incremental vs. concurrent 垃圾回收策略
2.5 – Garbage Collection 自动垃圾回收 Lua 5.3 Reference Manual http://www.lua.org/manual/5.3/manual.html# ...
- fork(2) - Linux man page
fork(2): create child process - Linux man page https://linux.die.net/man/2/fork fork(2) - Linux man ...
- 转!!CMPP 网关错误码说明
http://www.163duanxin.com/msg/1753.htm CMPP错误码说明 与中国移动代码的对应关系. MI::zzzzSMSC返回状态报告的状态值为EXPIREDMJ:zz ...
- MVC项目,bootstrap升级后index.d.ts编译出错
安装最新的Typescript组件 下载链接 https://www.microsoft.com/en-us/download/details.aspx?id=48593
- Java面试人事篇(二)
1.请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有.其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深入研究的知识领域 ...
- 跟我学Makefile(六)
shell 函数 :和反引号“`”是相同的功能 . shell 函数把执行操作系统命令后的输出作为函数返回. contents := $(shell cat foo) files := $(shell ...
- (转)《SSO CAS单点系列》之 15分钟让你了解SSO技术到底是个什么鬼!
Web应用系统的演化总是从简单到复杂,从单功能到多功能模块再到多子系统方向发展. .当前的大中型Web互联网应用基本都是多系统组成的应用群,由多个web系统协同为用户提供服务. 多系统应用群,必然意味 ...
- Docker学习笔记(一):在本地安装和配置Docker
由于公司里测试服务器时常会有变动,每次变动之后都需要在新的服务器上配置一遍环境,实在是麻烦.后来我突然想到了在网上看到的资料中说Docker能快速部署可移植的容器,所以我就试着用Docker搭建了 ...
- mongodb安装及副本集搭建
mongodb下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tg ...