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. jquery做表格变色效果-demo

    第一步:写html代码部分: <table style="width:300px;"> <tr><td>1</td></tr& ...

  2. 分析恶意windows程序

    1.windows 注册表 注册表根键 注册表被划分为下面5个根键 HKEY_LOCAL_MACHINE(HKLM) 保存对本地机器全局设置 HKEY_CURRENT_USER(HKCU) 保存当前用 ...

  3. Android动态方式破解apk终极篇(加固apk破解方式)

    一.前言 今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为: 第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件 现在要说的就是最后一篇了,如何应 ...

  4. 工作中积累整理-CSS样式表(一)

    [layout] clear:该属性的值指出了不允许有浮动对象的边. 默认值:none none: 允许两边都可以有浮动对象 both: 不允许有浮动对象 left: 不允许左边有浮动对象 right ...

  5. Windows使用shipyard

    步骤: 1. 安装go语言环境,配置go语言环境变量 如果是64位,GOARCH=amd64 http://my.oschina.net/pandao/blog/161667 2. 找一台linux或 ...

  6. ACM HDU 2041--超级楼梯题解

    超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. 关于html转pdf

    本篇作为一个备忘,记录一下html转pdf中遇到的问题. 没有具体做这个东西的时候不知道,网络上能将html转换成pdf的资源并不太多,使用上有很多都存在一些问题.能完美将一个站点中的页面(这里说一个 ...

  8. 办公大楼3D指纹门禁系统解决方案

    随着人们对工作.生活的自动化水平也提出了越来越高的要求.以大楼安保对出入大楼的外来人员进行登记放行或以铁锁.钥匙和卡为代表的出入管理方式已无法满足需求. 利用科技的手段,实现办公大楼的安全现代化.管理 ...

  9. spring监听器

    1,web.xml中配,因为tomcat启动web项目时先加载web.xml. 2,spring需要启动IOC容器才能为其他框架提供服务,spring是通过监听器来启动容器,初始化 这边启动它,也得告 ...

  10. XAF:如何让用户在运行时个性化界面并将个性化信息保存到数据库中 win/web/entityframework/xpo

    本主题介绍如何启用管理模型差异(XAFML),并将设置存储在数据库中.   名词解释: 1.模型:XAF中把所有应用程序的结构都用模型来定义,比如列表,有哪些列,名称是什么,对应的字段名是什么,业务对 ...