一个良好的项目设计,尽量做到前端与后台的分离。见过许多项目html、jsp中掺杂着许多js代码,甚至一些校验的代码都会添加到静态页面,这种开发方式极其浪费资源,系统的效率也是相当低的。

在设计项目时,考虑到系统的高效性、数据的安全性,前端的核心功能只是展示数据给用户看,而真正的逻辑应当放到后台去处理。为了保证数据传输的轻便和效率,前台和后台尽可能设计为固定数据格式来处理,比如将获取的数据全部封装成json格式,前台展示的数据从后台获取,而前端与后台约定的数据格式都是固定的json格式,数据库存储的数据也是json格式,这样有以下好处。

1)、这样设计可以使得前端与后台彻底分离,前端与后台可同时开发,摒弃以前先提供页面才能开发后台的滞后模式,大大加快了开发效率。

2)、前端、后台、数据库全部封装成json,在获取数据时非常方便,数据传输灵巧快捷,不仅能提高数据传输的效率,在数据加密时也非常方便。

项目的架构设计也是相当重要,主要分为前端、后端、数据库。前端在设计时首先根据项目需求确定大致的风格,以及数据结构,是否需要加密等因素。前端的性能对于用户来说相当重要,一般可以将页面拆分模块化,没有必要将所有的内容都在一个模块中完成。前端在开发时尽量不制约后端的开发进度,这就需要跟后端约定好统一的数据结构和传输协议,以及加密协议。切记将过多的js代码甚至是过滤校验类的代码放到html或jsp中,这对性能来说是致命的。

后端设计,可以采用先大后小的方式,先设计功能的架构,比如我们需要5升的水,我们没有必要带着5升的水去买容器,我们知道我们需要5升的水,我们可以先将固定容器买好即可。后端在设计时,采用逻辑有条理的设计是比较优秀的设计,我们需要将每一步要实现的功能流程化,这样在开发时步骤是清晰的,也容易别人解读代码。当然还有些琐碎的问题,比如代码冗余、重构等问题注意即可。

数据库设计,数据库在设计时我们往往会遇到不同类的产品,数据字段量不确定的情况,这时可以用行转列的方法,一张表A只记录产品类型名称,在B表中跟产品对应。这样无论你A表要加多少产品也只需两张报即可。本人不建议一类产品一张表,这样会无限量增多表的数量,对于开发人员来说不够方便。

java项目设计_java项目设计相关推荐

  1. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. java雪花_java雪花算法

    java工具类 1.IdGeneratorSnowflake.java用于生成雪花算法,分为有参构造和无参构造 package com.sale.util.common; import cn.huto ...

  4. 普罗米修斯监控java项目_java学到什么程度可以出去实习?

    把基础的知识学完,然后再学个框架,比如常见的SSH,SSM之类的,自己能用这个框架做个简单的项目,就可以了 简单的来说就是把下方的视频教程学完就可以找工作了(需要完整的资料可以找up) Java零基础 ...

  5. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常

    我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...

  6. java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区

    所谓的原子量即操作变量的操作是"原子的",该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前,可以通过vola ...

  7. cmd怎么实现Java你好_java环境配置以及如何在cmd窗口运行java代码

    对于初学java的人来说,电脑的环境配置也许会让你头疼,但只要你认真一些学习,相信对你来说都是OK的啦~ 首先回到桌面,选择我的电脑,单击右键属性,进入高级系统设置,点击环境变量设置.用户变量选择Te ...

  8. java创建对象_java 创建对象的五种方式

    通过 Class 对象的 getConstructor 可以获取 java.lang.reflect.Constructor 对象 Constructor 对象用来描述类的构造方法,通过给 getCo ...

  9. java程序设计_Java程序设计:学习笔记(4-5)(未完工)

    声明: 本文内容基于"吉首大学软件学院-Java程序设计(Java面向对象程序设计)"网课与个人实践经验修改编写而成.本文属于Arcadia项目组成部分.若有错误或不足之处存在请联 ...

最新文章

  1. MySQL面试题 | 附答案解析(九)
  2. mysql命令参数详解_详解Mysql命令大全(推荐)
  3. h5居中loading_Html5新增标签与样式及让元素水平垂直居中
  4. 团队竞争力有多强,你的企业就能走多远
  5. MDCC 2016:网易云信直击移动IM之痛
  6. Cpp / 引用的本质
  7. 邮件发送类_SpringBoot优雅地发送邮件
  8. python按照每行输出八个_Python/PyCharm的每行输出
  9. ubuntu中文设置
  10. gc问题mysql连接池_数据库连接池引起的FullGC问题,看我如何一步步排查、分析、解决...
  11. 网易云音乐播放器缓存文件转换研究
  12. cam350菜单怎么切换成中文_对CAM350英文菜单不熟悉的可以参考一下这份CAM350中文菜单...
  13. nsis升级包_NSIS制作软件升级安装包完整教程
  14. 关于ESD的一些知识
  15. vue项目中 一行文本 文字 根据关键字 改变颜色 改变展示颜色
  16. Python实现“维基百科六度分隔理论“之基础爬虫
  17. win10/11下wsl2安装gpu版的pytorch(避坑指南)
  18. 【Elasticsearch】Elasticsearch 相关书籍
  19. linux ps2键盘驱动,Linux下USB模拟ps2鼠标驱动
  20. colored manual page

热门文章

  1. 第三次学JAVA再学不好就吃翔(part34)--多态的成员访问
  2. mysql定时木马_Mysql的语句生成后门木马的方法
  3. 如何找到 SAP 电商云 Spartacus UI 产品明细界面对应的 Angular 实现 Component 名称
  4. 最简单的 Webpack Hello World 例子
  5. Linux Boot,Kernel 和 Service 介绍
  6. SAP S/4HANA Cloud 系统集成的一些场景介绍
  7. SAP Commerce Cloud Build Manifest Components
  8. SAP Spartacus cost center list的数据源分析
  9. rxjs switchMap的实现原理
  10. SAP BSP应用有状态和无状态行为差异比较