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. 读书笔记:《HTML5开发手册》

    一.HTML5中新的结构元素 1. HTML5初始文件 1.1.doctype 在之前,doctype的声明是这样的: <!DOCTYPE HTML PUBLIC "-//W3C//D ...

  2. python 学习笔记十二 CSS基础(进阶篇)

    1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与 ...

  3. 伪共享和缓存行填充,从Java 6, Java 7 到Java 8

    关于伪共享的文章已经很多了,对于多线程编程来说,特别是多线程处理列表和数组的时候,要非常注意伪共享的问题.否则不仅无法发挥多线程的优势,还可能比单线程性能还差.随着JAVA版本的更新,再各个版本上减少 ...

  4. 关于ř与画面的集成---- k均值聚类

    1.利用R内置数据集iris: 2.通过Rserve 包连接tableau,服务器:localhost,默认端口6311: 3.加载数据集iris: 4.编辑字段:Cluster <span s ...

  5. jQuery实践——属性和css篇

    属性: attr html:<div>demo1</div> jQuery:$("div").attr("id","demo1 ...

  6. 【转载】我眼中的Oracle性能优化

    我眼中的Oracle性能优化 大家对于一个业务系统的运行关心有如下几个方面:功能性.稳定性.效率.安全性.而一个系统的性能有包含了网络性能.应用性能.中间件性能.数据库性能等等. 今天从数据库性能的角 ...

  7. Sprint(第十天11.23)

  8. 关于win10连接不上ftp的解决方案

    win10系统连接ftp服务器的时候,会先出现假死,比如: 然后 就会报错: 面对这些问题:我们不需要关闭放火请,卸载杀毒软件等等无用的操作,只需要一步就能搞定: 把ftp:// 换成 file:\\ ...

  9. JSON生成c#类代码小工具

    JSON生成c#类代码小工具 为什么写这么个玩意 最近的项目中需要和一个服务端程序通讯,而通讯的协议是基于流行的json,由于是.net,所以很简单的从公司代码库里找到了Newtonsoft.dll( ...

  10. iStylePDF c#集成开发示例

    iStylePDF安装包自带了ActiveX控件,下载安装包安装之后就可以使用,如果没有安装包请到360软件管家或者腾讯软件管家搜索下载.C#的Form中集成ActiveX控件还是非常简单的,选择添加 ...