`
chandler
  • 浏览: 82077 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自己网站用户系统(二)

阅读更多

 

用户框架构思
      最初构造的时候,这个框架整体上来说是很混乱的。混乱到了User类可以做一切事情。混乱到了,觉得总结出所有User的功能整个程序的所有功能。
     但是后来觉得这太混乱了,以我的能力无法组织在一个类中完成这相关的所有任务。所以也就分成了user和usermanger。user负责存放数据。而UserManager负责处理动作。这样做无非是使得系统的更加复杂。因为本质上来说,这个和上面没有任何区别。仍然是想通过用户系统完成所有的工作。结果就是写代码写得越来越复杂。
     在写了代码之后,慢慢的觉得,整个系统应该只是做两件事情——封装内部的逻辑和向外部User以及其身份信息。所以以后所有的设想,都是围绕着这亮点展开。
User,userUtils和UserFactory
      User:
         这个类现在只提供信息了。没有任何实际性的操作。在我的设想中,User类好像是一个身份识别牌的作用。所以我只在里面封装了ID,Name和password这3个东西。其余的都都封装到了UserInfo,Rolemap中。

 

         构思中,这个User类有两种。一种是只包含简单信息的,UserInfo为空的User,这里称之为简短的User,一种则是UserInfo为不为空的User。这里称之为完整的User。考虑到这两种User要相互装换,并且转换也是很方便的。所以通过一个isBrief()这个方法来进行区分。

 

         这个类为了安全考虑,构造函数都设置成了default
      UserFactory:
          这个类处理的是User的组装操作。把user,UserInfo何Role这几个类有机的合成一个完整的User,预计希望成为与外部系统沟通的主要类。
          所以,这个类的方法,除了获得User的之外。还有给User装填Role和UserInfo的方法。这些方法都是以User为参数。因为希望把这个类写成User,Role和UserInfo的装配工厂
     Role
         其实这个类是最让我头疼的一个类。因为最初的设想是这是一个接口。比方说一个User,它有一般用户和管理员的功能,我就把这个类设计成,继承抽象的User类,然后实现管理员和用户的接口,谁都知道这个很麻烦。
         后来呢,有了Rolemap这个概念之后,我就希望把Role设置成了抽象的。然后各个不同的觉得继承它,把其装入Rolemap。产生这种想法的根源是我希望把各种动作封装到Role中。
         后来把整个系统定位成一个身份的提供者之后,现在就统一成了Role类。很简单的一个类,他有一个标示,一个获得标示的方法。外加一个Authoritymap。由于Authority类还在构思之中。所以这里不便继续说了。
     UserInfo
         这个类很简单。现在位置就碰到一个麻烦。那就是怎么标示其为空。
         由于在数据库中,他的ID我设置为从0递增。所以现在我是判断它的id是否为-1.
         但是接下来,打算把他的ID设置为UUID,可能需要一个专门的属性来判断了。
    各种Uitls类:
         这些类的作用我定义的是做为数据库和整个系统的缓冲区。所以和数据库的操作都封装在这些类中。日后加上Hibernate时,我会把这些类大幅度简化。

 

 

 

  • 大小: 23.8 KB
0
0
分享到:
评论

相关推荐

    业务流程管理系统,基于Flowable二次开发,与Upms系统打通用户信息.zip

    在这个案例中,系统已经与Upms(统一权限管理系统)进行了打通,实现了用户信息的共享。Upms系统通常用于管理用户的登录、权限分配、角色管理等,与Flowable的结合,确保了业务流程中的操作权限控制和用户认证的一致...

    开源多用户商城系统

    多用户商城系统的核心特点是允许多个商家在同一个平台上开设店铺,各自管理自己的商品和交易,而平台则负责整体运营和维护。 一、多用户商城网站的发展背景与重要性 随着电子商务的持续发展,越来越多的中小企业和...

    李炎恢 多用户留言系统源代码二(5.5-6.5)

    其中,多用户留言系统作为基础性的互动工具,在各类网站、论坛、社区等平台中扮演着至关重要的角色。李炎恢老师作为多用户留言系统源代码的开发者,为这一领域提供了具有指导意义的实践成果。其开源的多用户留言系统...

    操作系统课程设计报告-多用户文件系统的模拟

    **多用户**意味着系统可以同时服务于多个独立的用户,每个用户有自己的工作环境和文件权限。为了实现这一点,操作系统需要提供用户账户管理、身份验证和权限控制机制。在本课程设计中,限制了最多五个用户,这涉及到...

    Angel网站流量统计系统(多用户版) -ASP源码.zip

    此外,由于源码公开,用户还可以根据自身需求进行二次开发,定制更符合自己业务特色的统计功能。 总的来说,《Angel网站流量统计系统(多用户版) ASP源码》是一个有价值的资源,无论是对初学者还是专业人士,都能...

    手把手教你如何建立自己的Linux系统 第二版.pdf

    在构建自己的Linux系统的过程中,你将深入理解操作系统的工作原理,并且掌握Linux的内核配置、编译以及安装等核心技能。下面将详细讲解这个过程的关键步骤。 首先,我们需要准备一个基础环境,通常选择一个已有的...

    多用户管理系统

    在这个系统中,每个用户都有自己的账户,能够根据分配的权限访问和操作特定的资源,实现资源共享和协作。 描述中提到的"一款很好的资源共享源码"意味着这个系统可能提供了开源的源代码,允许开发者进行二次开发和...

    二级vb上机模拟系统

    在使用"二级VB上机模拟系统"时,用户可以根据系统的提示,一步步完成各种类型的题目。在完成题目后,系统会自动进行评分并指出错误所在,使用户能够及时了解自己的不足之处并加以改进。这种即时的反馈机制对于学习来...

    操作系统二级文件系统

    ### 操作系统二级文件系统知识点解析 #### 一、题目背景与目标 在《操作系统》课程设计中,项目的目标是为Linux操作系统设计并实现一个简易的二级文件系统。该文件系统将采用Java语言进行开发,并且包含用户界面,...

    Orange's一个操作系统的实现(于渊《自己动手写操作系统第二版》)随书光盘

    Orange's是一个基于x86架构的操作系统,由于渊在其著作《自己动手写操作系统第二版》中详尽阐述了其设计与实现过程。这个随书光盘包含了作者在书中提到的源代码、实验环境和相关资源,是学习操作系统原理与实践操作...

    Web考勤管理系统用户使用手册

    《Web考勤管理系统用户使用手册》是一份详细指导用户如何操作和利用Web考勤管理系统的文档,旨在帮助用户高效、准确地完成日常考勤管理任务。以下是对该系统及其使用方法的详细介绍: 一、系统概述 Web考勤管理系统...

    操作系统课程设计-二级文档管理系统

    用户只有对自己空间中的目录或文件具有权限。 五、流程设计 系统执行流程图包括了系统执行的主要步骤,包括系统初始化、用户登录、文件管理等功能模块。主要模块设计包括了用户管理模块、文件管理模块、目录管理...

    在线考试教学系统平台系统源码.rar

    2.将源码传至网站根目录,php源码用二进制上传,或者上传压缩包在空间解压 3.将“dkewl.sql”数据库文件导入MySQL数据库 3.将lib\config.inc.php里面的数据库连接信息配置成自己的 账户 密码 教师用户账号:...

    模拟二级文件管理系统 操作系统课程设计 包过

    普通用户只能访问自己的文件,这要求我们实现基于权限的访问控制,确保用户只能操作属于他们自己的文件和目录,除非有适当的权限提升。 4. 文件操作:包括创建、修改、删除等,这需要实现相应的系统调用,如open、...

    统一用户及权限管理系统需求分析

    - **用户管理**:系统管理员可以维护所有用户信息,普通管理员可以维护特定系统的用户信息,而个人用户只能维护自己的信息。 - **接口提供**:为其他应用系统提供接口,以便它们能够调用权限管理功能。 ##### 3.2 ...

    操作系统课设 模拟二级文件系统管理

    通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。 设定一个超级用户,可以查看整个二级文件系统结构。 普通用户只能根据自己的用户名与密码访问自己的文件与...

    二级文件操作系统

    【二级文件操作系统】是一种设计用于Linux系统的简单多用户文件系统,其主要目标是让学生通过实践设计,深入理解文件系统的内部工作原理和实现机制。在设计过程中,学生需要结合数据结构、程序设计和计算机原理等多...

    ThinkPHP二级域名分发系统网站源码.zip

    在实际应用中,二级域名分发系统可以用于搭建多用户平台,如博客系统,每个用户可以拥有自己的二级域名;也可以用于电商网站,不同分类的商品可以通过二级域名进行区分;甚至可用于在线教育平台,每个课程或讲师都...

    二级域名分发系统PHP源码-附安装教程.zip

    这个系统可以帮助网站管理员轻松地为用户提供个性化或特定功能的二级域名,例如子站点、用户个人空间或其他服务。在这个"二级域名分发系统PHP源码-附安装教程.zip"压缩包中,你将找到实现这一功能的所有源代码以及...

Global site tag (gtag.js) - Google Analytics