OctService服务类

从以下几个方面来说吧,这次说的会有点长啊
设计:
思路:
作用:
目的:
问题:
为什么要设计这个?
它解决了什么问题?
是什么?
为什么?
怎么样?

OctService服务类,其实说这个,大家需要脑补一下,Octopus经过的太多版本的改造,才有了这个的诞生,也是伴随着需求不断的增加和对程序的优化,才渐渐有了这个东西
弄出来这个东西之后也让我稍微对面向对象 抽象 接口 之类的概念有些了解 。看来要深入一个东西并非一朝一夕的,需要不断的思考 使用 和总结,反正吧路程很艰辛,但是体验也很多
就想潜伏中的一句很有意思的话:革命者的爱情分外浪漫!是啊 让你心里想着,同时有见不到你心里的那个人,见到了又不能相认,那该是一种什么样的滋味儿。一见面就是激吻,啊啊啊
【就好比厕所就在旁边,肚里面憋着一泡屎,就是憋着,反正厕所在旁边,体会那个难受劲儿】这个时候也只有吻才能表达心中的想念吧,这也让我想起我和初恋女友的那个吻【预知详情请联系我】,无数个夜晚我都在回味那一个美好的时刻,情到浓时的那种滋味儿,是一种人生难得的体验,值得一生典藏啊。

OctService抽象了页面类,将一些公共数据的获取和初始化放在了这里,是为了一些Ajax请求用的
最初的Ajax请求要经过HttpCustom这个基类,但其实这些Ajax就是获得一些简单的操作,比如:收藏商品,加入购物车;没用必要让这些请求也经过页面周期这个步骤吧,
但是不经过页面周期,一些数据又获取不到:比如购物车的ID,货币ID 语言ID,还要知道用户是否处于登录的状态。所以OctService就是将这些数据的获取和初始化工作给提取出来了
这样Ajax一类的请求就不需要经过页面周期的步骤了【其实我就是这个目的】
而且OctService也可以做HttpCustom的基类
总之:有了这个东西Ajax请求和页面请求分开了,谁也不影响谁,各自独立



Post分离过程
Post事件从每个页面中分离掉了,页面代码变得干净清爽,就是像用了妇炎洁【我们也用妇炎洁,洗洗更健康--外国人口吻来读】
每个ashx页面中只有获取动作,get get 不停的get,【只执行Page_Load事件】不在处理用户Post请求过来的数据,比如用户结算
这些Post操作都被转移到了一个专门的Ashx中去了
好处:
1.每个页面专注于Get操作,根据参数展示不同的视图,专注于这一件事儿,不容易出错
2.便于调试
分离时候让这些操作都变得简单和易于控制,还是很不错的



Page_PreLoadInit像鸡肋一样被丢弃了
当初设计它的时候觉得非常有用,解决了一些页面数据获取的问题,但是后来觉得它很讨厌,也很啰嗦,竟然很多页面都要提前获取一些相同的数据
为什么不在一开始将这些数据都获取到呢?所以后面设计了OcService这个类,自然而然的这个事件就丢弃了

【思路】-OctService服务类的更多相关文章

  1. Liferay7 BPM门户开发之34: liferay7对外服务类生成(RestService Get Url)

    在liferay7中开发不依赖Service Builder的对外服务类,非常简洁,只需要2点注解: 在类的前部定义: @ApplicationPath("/PathXXX") 方 ...

  2. Android 服务类Service 的详细学习

    http://blog.csdn.net/vipzjyno1/article/details/26004831 Android服务类Service学习四大组建   目录(?)[+] 什么是服务 服务有 ...

  3. Nmap扫描教程之DNS服务类

    Nmap扫描教程之DNS服务类 Nmap DNS服务类 DNS(Domain Name System,域名系统)的作用就是将主机名解析为相应IP地址的过程. 通常主机域名的一般结构为:主机名.三级域名 ...

  4. Android 服务类Service 的具体学习

    上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们能够在无形 ...

  5. C# 利用VS自带的WSDL工具生成WebService服务类

    C# 利用VS自带的WSDL工具生成WebService服务类   WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲 ...

  6. 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借助TopSelf、服务类】)

    一. IIS部署 比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着MVC框架被挂在IIS下,IIS会进程回收,所以大部分开发都会遇到Quartz挂在IIS下一段时间不好用. ...

  7. 微信小程序个人/企业开放服务类目一览表

    微信小程序个人/企业开放服务类目一览表   微信小程序个人开放服务类目表 服务类目 类目分类一 类目分类二 引导描述 出行与交通 代驾 / / 生活服务 家政.丽人.摄影/扩印.婚庆服务.环保回收/废 ...

  8. WorldWind源码剖析系列:地形瓦片类TerrainTile和地形瓦片服务类TerrainTileService

    地形瓦片类TerrainTile 用来抽象封装用户漫游中所请求的地形瓦片数据类型. 地形瓦片服务类TerrainTileService提供了从BIL(Binary Interleaved by Lin ...

  9. Nmap扫描教程之网络基础服务DHCP服务类

    Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...

随机推荐

  1. python学习之函数

    1.函数名可以被赋值 比如: def aaa(): pass b = aaa//将函数名字赋值给b b()//跟aaa()效果一样 2.return 2.1.如果函数不写return的话,会默认返回N ...

  2. java udp与tcp

    一:基础  NET基本对象java.net.InetAddress类的使用 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetAd ...

  3. spring MVC、mybatis配置读写分离

    spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数 ...

  4. Ubuntu学习小结(一)

    这段时间,抽空研究了一下Ubuntu,虽然也有过到目前为止使用计算机最作死的经历,但目前已经学会了一些最基本的操作.在这里简单的记录一下,算是吸取的教训,供其他人借鉴. 1.装Ubuntu系统.装Ub ...

  5. HDU 5934 Bomb(炸弹)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  6. ueditor .net版本上传图片功能配置

    1.官网下载 UEditor .Net最新版:官方网址:http://ueditor.baidu.com/website/download.html#ueditor   UTF-8版 和GBK版选择疑 ...

  7. P与NP问题

    Polynomial Nondeterministic Polynomial P问题: 一个问题可以在多项式时间复杂度内解决 NP问题: 一个问题可以在多项式时间内证实或者证伪 NP-Hard问题: ...

  8. js 睡觉

    js睡觉 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() + numberMilli ...

  9. 实验一 认识DOS

    #include<stdio.h> #include<string.h> void main() {       char cmd[20][20]={"dir&quo ...

  10. 尝试用md编辑器写博客, 内容为 jupyter笔记

    Matplotlib tutorial http://www.labri.fr/perso/nrougier/teaching/matplotlib/#introduction %matplotlib ...