以前端JS面向对象的思想,实现产品列表页面的思路及分析,设计

首先,我还是认为,面向对象的思想,能够更接近事情或现实,让我们更用容易用人类的语言或是以实际世界为模板,来理解和分析我们要做的系统。

首先,我们先用一个实际的例子来说明,来分析我们要做的功能。

马上上个用例图:

我们今天要实现的,就是上面的功能。

主要需要实现的事情如下:

1)HTML+CSS页面
2)JS上拉刷新产品
3)实现AJAX代码
4)实现三者的配合联调运行

这是我们可以看出来,我要也实现两个页面,一个是所有商品,一个是专题商品,

但是,其实,我们的属性,他们的方法,都类似:
比如,他们都由翻页的功能 ,都有产品列表的功能 ,都有价格,图片等等。

其实我们可以抽象出来,一个产品页面类,然后由两个类(所有商品,专题商品)来继承。

但是问题其实没这么复杂,他们的所有属性,方法都一样,唯一是数据不一样。所以,我只用一个类就是了

这个类,就叫pageProducts

同时,他与后台交互,实现数据的交互:

上面PageProduct类,更多的是JS的属性及方法:
tableView,显示的产品数据视图
Request ,页面的Request对象(由JS方法生成)
pageSize,每页产品数
pageIndex,当前页码
hasProduct,当前页还有产品否?
myscroll,上拉滚动条对象

接下来是方法:
getRequest(),得到Request对象
pullUpAction(),执行上拉操作
changeTitle(),执行根据tableView显示相应的页面标题
getPageProducts(),获取页面产品对象,并显示
productOnclick,产品点击事件

其中,还有一个products类,和pageProduct是一对多的关系。

通过AJax的交互,他们就可以实现我想要的功能 。

具体时序图,如下:

至此,分析完毕。

其实我是通过我已经实现的代码,再重新总结整理,这样做之后 ,慢慢的,就很容易,在开发前,就能分析清楚流程,数据交互,数据类型,有哪些方法,属性,类等等。

那么,到了编码阶段,   出错的可能性就很少了,因为所有需要做的框架代码,你都知道,至少流程,状态不会有问题,剩下的只是细节了。希望本文对您有用。也作为我的一个笔记 。

猜你喜欢

转载自blog.csdn.net/weixin_44019016/article/details/88652156
今日推荐