【思路】-OctService服务类

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这个类,自然而然的这个事件就丢弃了

来自为知笔记(Wiz)

时间: 2024-10-06 23:52:45

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

制作c#安装程序/使用安装服务类自定义安装事件

第一步:建立工程 1.打开vs,新建项目->其他项目类型->安装和部署(),新建安装项目,命名为SetupTest. 2.新建工程后,可以在“解决方案资源管理器”里面看到子项:文件系统编辑器,注册表编辑器,文件类型编辑器,用户界面编辑器,自定义操作编辑器,启动条件编辑器.下面将会举例来说明各个地方怎么使用. 3.最简单的一个安装程序:点击“文件类型编辑器”,找到“应用程序文件夹”,添加->文件,选择你要打包的程序文件(譬如我的程序有run.exe和lib.dll组成),确定.在项目“Se

Spring容器装饰者模式应用之实现业务类与服务类自由组合的解决方案

在任何一个项目中都不可或缺的存在两种bean,一种是实现系统核心功能的bean,我们称之为业务类,另外一种是与系统核心业务无关但同时又提供十分重要服务bean,我们称之为服务类.业务类的bean根据每个系统自身核心功能的不同可以有任意多个,但是服务类的种类在各个系统之间的差异却并不是很大.在系统中经常用到的服务有以下几种,权限服务,日志服务,缓存服务,事务服务以及预警服务等.在整个系统的不断进化过程中,服务类与业务类的关系也不断的发生着变化,由当初垂直模式变为横切模式,这也是编程思想不断演化过程

datasnap——动态注册服务类

datasnap——动态注册服务类 在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法.通常的做法是使用DSServerClass组件,但有些时候,我们要做到在运行时加载.下面代码实现的类TSimpleServerClass从TDSServerClass继承,超载了Create方法并且增加了ServerClass,DataSnap Server和LifeCycle三个参数. type TSimpleServerClass = class(TDSSer

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

地形瓦片类TerrainTile 用来抽象封装用户漫游中所请求的地形瓦片数据类型. 地形瓦片服务类TerrainTileService提供了从BIL地形文件获取高程的功能.实际上,该类主要是用来返回用户漫游中所请求的地形瓦片对象.这两个类类图如下. 地形瓦片服务类TerrainTileService各个字段的含义说明如下: string m_serverUrl;//地形瓦片服务的统一资源定位符字符串 string m_dataSet; //地形瓦片服务的数据集字符串 double m_level

linux-/etc/inittab,rc.sysinit,rc服务类脚本,chkconfig

o yaouyazhuLinux系统启动流程 POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab) Kernel初始化的过程:1.设备探测2.驱动初始化(可能会从initrd(initramfs)文件中装载驱动模块)3.以只读挂载根文件系统:4.装载第一个进程init(PID:1)  (rw重新挂载rootfs) initrd初

生活服务类O2O或许将面临不少挑战!

目前生活服务类O2O品牌层出不穷,家政类.美发类等生活服务极具成长性,很具有发展前途,但生活服务O2O电商品牌在快速成长的同时,也面临着线上用户的黏性不够.线下服务者难管理.O2O闭环设计漏洞.线下活动成功率低.品牌社群建设这五大挑战.一.如何提升用户消费黏性“网上预约生活服务不方便.用户黏性不够”是生活服务O2O品牌面临的首要问题,从整个移动购物的消费态势来看,用户线上预约.线下消费生活服务的习惯还没有形成;为积极引导用户生活服务O2O消费,我们可以通过消费模式的大力宣传.品牌的介绍让用户积极

Android 服务类Service 的详细学习

上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们可以在无形中使我们的软件和网络.数据库.系统等进行交互,之后通过UI(Notification就是一种展示方式)把结果展现在我们面前.可以说,他们是android生命体系里面的神经系统,通过反射条件让身体展现不同的状态.在整个系统中,广播接收器充当着是传输者和监听者的角色,它把系统的一点点变化都反馈上去,之后

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

C# 利用VS自带的WSDL工具生成WebService服务类 wsdl /language:c# /n:空间名 /out:D:/类名 webService接口地址

Android 服务类Service 的具体学习

上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们能够在无形中使我们的软件和网络.数据库.系统等进行交互,之后通过UI(Notification就是一种展示方式)把结果展如今我们面前.能够说,他们是android生命体系里面的神经系统,通过反射条件让身体展现不同的状态.在整个系统中,广播接收器充当着是传输者和监听者的角色,它把系统的一点点变化都反馈上去,之后