`
javayestome
  • 浏览: 1041378 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

[28期] Nothing 的项目感想(success and fail )

 
阅读更多

项目感想
从开始的设计来说吧,自己的问题主要出现在设计阶段,开始设计的时候对这个项目还不熟悉,因为很少用商城,对商城的具体流程不清楚,就看了很多开源的商城,还有网上大型的商城,但是在数据库设计过程中还是出现了几个问题。
后台设计
1. 订单模块是自己需求设计中最失败的地方,当时想的是把用户购买的商品用一个字符串存储起来,n件商品就需要一个字符串,一条记录就能搞定,不用想常规方法用几条记录存储,但是存取的时候没有问题很简单,开始的时候自己没有想到订单要存的信息很多,不光是商品名字,价钱,最重要的还有数量,这些参数整成一个字符串,然后玩字符串把他拿出来存进去,算法还不算难,但是在做最后统计的时候就纠结了,因为只有一条记录,这条记录中的内容还很多,而且没规律,想统计很麻烦,最后还是选择了常规方法,用多条记录存,虽然数据库存的多点,但是做统计很easy几条关联查询搞定;
2.在商品模块中把商品类型和商品品牌弄混了,导致商品在做无限分类的时候没有标识的字段,还有商品分热卖,推荐,打折等,同样在数据库中没有设置字段进行标识;
3. 在会员模块中,添加会员部分少了会员级别的无限分类,导致在添加会员的时候不能设置会员的级别;
4.统计模块,觉的自己设计的统计内容不够详细,没有满足用户需求,只是统计了每件商品利润,销售额,还有总的销售额,和总利润,还有每个用户的消费的额,还有站内的访问量,注册量等等还有没想的到没统计,没有设计好;
5.在目录设计的部分,主要文件存放的位置还行,首页文件include的几个页面存放的位置在设计之前没有考虑到,全放在和主页面同目录下,弄的目录结构显的很乱;
前台
6.主要就是感觉自己会员模块做的不好,开始设计的时候忽略了,里面的功能没有想完整

项目感觉做的好的地方
1.重复的功能尽量写成函数来require用,比如说分页,添加商品模块中的分类列表,会员等级列表,上传加水印缩放函数,数据库查询函数(当然是能满足当时需求的简单函数)时期函数等,用到时候就包含调用,使重复代码量减少;
2. 写的函数也比较灵活,如分页的函数的url 是从$_SERVER[]中拿到的,只要包含就能用,统计中按照日期查询的函数中日期的区间是数据库中最小的日期的0时0分到当前日期的23时59分等,都是根据能根据不同的应用环境自己适应的,(就是感觉查询数据库花的开销大)
3.采用了缓存文件,在订单确认时,不仅插入数据库,而且还在本地生成一个文本文件,在自己查询的时候,首选是从本地文本文件中读取,当文件不存在时从数据库中读取,(可能这个缓存文件用的位置不对,感觉应该把首页的内容加入缓存文件才对)
4. 购物车的应用只采用了一个session变量实现,里面存了一个一维数组,一个以商品id 为键值,商品信息如 价格,名称 数量等 形成一个以逗号分隔的字符串作为值的数组,避免你在重复点击时候的累加,还有用多个session 来存储的问题,只用了一个一维数组;
5.目录文件中每个功能模块划分清晰,一般是每个功能一个文件;
6.功能条例清晰,功能之间相互调用,而又能独立运行,不会因为某个功能甭贵而到时其他功能崩溃,移植的时候只要导入数据库就能使用;
7. 前台各个栏目都是从数据库中拿出去的,如无限分类,热卖,打折,新货等各种商品等,就是说你只要改变后台的一下数据,前台就能随之改变,能保持前后台的互动;
8.前台的主体页面结构是通过一个页面控制器get 不同的 interface 值 ,根据不同的请求,include不同的页面,避免重复加载头和尾页面;
9.搜索中,不仅能在搜索框中搜索,还能在点击热门关键字进行搜索

总结--
自己的问题主要出现在设计阶段,说白了,自己不知道把网站做成什么样的,觉得自己平常上网太少,对商城还有其他产品的了解太少,以后上网的时候多注意观察吧,了解各个关节,和其他网站提供的功能,还有优化自己的界面,多看大网站的源代码,开阔眼界吧,对于算法, 感觉没遇到什么砍,大部分都是做过的,思路比较清晰,但是肯定还有很多需要优化的方面,其实在刚做完项目还有做项目的时候想法和感想很多,时间一久,或者说学了面向对象,知道东西一多,觉的自己做的太烂了,面向对象是重点,希望自己能在代码中不断提高

分享到:
评论

相关推荐

    nothing

    很抱歉,但根据提供的信息,标题为"nothing",描述为"NULL",这并没有提供任何具体的IT知识主题。不过,标签中提到了"源码"和"工具",这通常意味着讨论可能围绕软件开发中的源代码管理和工具使用。由于没有具体的...

    nothing serious

    标题 "nothing serious" 可能是指一个轻松讨论或者非正式的技术话题,可能涉及某个软件或编程方面的内容。由于描述是 "NULL",我们没有直接的信息来深入解释这个主题。但是,我们可以根据给出的标签 "源码" 和 "工具...

    Enviro - Sky and Weather.7z

    Enviro also got an minimal mode for headless servers to only calculate time and weather but nothing more. Virtual Reality: Enviro supports multi and singlepass stereoscopic rendering! Tested on ...

    Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and

    Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how. By using...

    nuevo_delphi_DoNothing_

    【标题】"nuevo_delphi_DoNothing_" 是一个与 Delphi 开发相关的项目或程序,可能是一个示例或模板,其主要目标是实现一个“无操作”(DoNothing)的功能。在编程中,"DoNothing"通常指的是一个不执行任何实际操作的...

    java_nothing

    Java_answers.exe

    英文原版-Learning The Vi And Vim Editors 7th Edition

    There’s nothing that hard-core Unix and Linux users are more fanatical about than their text editor. Editors are the subject of adoration and worship, or of scorn and ridicule, depending upon whether...

    Shared-Nothing MPP Databases with Distributed User-Defined Functions

    Shared-Nothing MPP Databases with Distributed User-Defined Functions Versus Hadoop/Map-Reduce for Large Data Analytics

    精彩编程与编程技巧-0、(空字串)、Null、Empty、与 Nothing 的区别...

    ### 精彩编程与编程技巧-0、(空字符串)、Null、Empty、与 Nothing 的区别 在编程过程中,经常会遇到对变量进行初始化或判断其状态的情况,尤其是在处理数据输入、数据库操作等方面时,正确理解和区分0、空字符串(`...

    Hands-On Machine Learning with Scikit-Learn and TensorFlow [EPUB]

    Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron English | 2017 | ISBN: 1491962291 | 566 Pages | EPUB | 8.41...

    Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 2ed 2019.epub

    Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how. By using...

    12-calc_nothing_WantIt_

    标题 "12-calc_nothing_WantIt_" 暗示了这可能是一个与计算相关的项目或者程序,可能是一个计算器应用或与计算工具的开发有关。"it just a little file" 描述则表明这是一个小型文件集合,可能是一个轻量级的软件...

    Enviro - Sky and Weather V2.0

    Enviro also got an minimal mode for headless servers to only calculate time and weather but nothing more. Virtual Reality: Enviro supports multi and singlepass stereoscopic rendering! Tested on ...

    something tools, nothing

    something tools, nothing

    DeviceAdminSample.rar_Do Nothing

    Example of a do-nothing admin class. When enabled, it lets you control some of its policy and reports when there is interesting activity.

    一种Shared-Nothing分布式数据库的构建方法.pdf

    本文提到的“Shared-Nothing”架构是一种分布式数据库架构,其核心设计理念是每个节点拥有自己的处理器、内存、存储和操作系统,节点之间通过网络连接,但不会共享任何计算资源。 Shared-Nothing架构的分布式数据库...

Global site tag (gtag.js) - Google Analytics