很早就想尝试着在常规的报表开发中

引入OO了

趁着程序略复杂 时间略充裕 终于尝试了一把…咩哈哈~~

以下来自我的evernote笔记 有点语无伦次…忍忍~~

---------------------------------------------------------------------------

主要的好处就是逻辑清晰

可以从整体上来直接把控这个程序

如果可以 减少对全局数据的依赖

保证class的独立性 说不定哪天可以复用一些方法

 

使用OO的话

刚开始可以专注于处理的实际业务特点

可以抽象出处理的业务模型

理解大致的业务逻辑

然后设计程序的架构

例如定义一个物料处理的接口

常用料 代管料分别实现该接口

这样逻辑清晰

而且在初期的编码阶段

无须关注具体实现过程

甚至无须关注有哪些变量

根据主要的业务逻辑

确定相关方法就OK

 

第一次尝试这样开发

在定义class的时候已经从整体上把握了整个程序

和以前的面向过程的

一路走下去 车到山前找条路的方式还是有进步的

而且对于用户需求变更 程序扩展 后期维护都方便

复杂的程序的开发难度降低不少(个人认为)

 

确定方法之后

再确定涉及的变量

在实际编码过程中再添加涉及的其他交互的方法

唯一个不爽的就是class中不能使用内表自带的Header line

每次都要用自己定义的工作空间

这个不是问题 只是自己没有定义额外的工作空间的习惯而已

 

还有潜在的一个问题是

class在内存中应该是放在inner session中的

所以在跳到另一个inner session时当前的class数据是无法使用的

而且不能通过放入abap memory的方式实现交互

但是这个问题对我的开发影响不大...

 

总结下 虽然很想整个报表全部都封装在class里

但是后来发现没有必要

面向过程在处理纯粹的逻辑跳转 数据筛选等等的操作还是挺有优势的

没有必要画蛇添足了

把OO的处理放在核心业务数据提取 处理上会更好

然后筛选的数据二次处理放在正常的代码块中

这样混合着使用的效率可能更高

 

代码就不贴了,没有借鉴的意义 需要配合着其他数据一起使用

就把简单的几个class放出来吧  纪念我第一使用abap 的OO 

引入OO开发报表后的感想的更多相关文章

  1. 使用Birt开发报表

    间隔一段时间未使用Birt开发报表后,本文章记录Birt开发报表的常遇到的开发问题及解决措施,方便自己和园内其他朋友学习. 一.Birt连接数据库配置 1.连接DB2数据库: 1.1.birt的数据连 ...

  2. c# FastReport开发报表

    本文介绍c#应用FastReport开发报表,因此首先附该工具下载地址:http://download.csdn.net/detail/hws1058648831a/6378499 下载解压后可以直接 ...

  3. 利用HTP工具包开发报表

    利用这种方式的优点是不需要跑请求就可以打印报表 工具包中常用程序说明 htp.print 语法   htp.print (cbuf | dbuf | nbuf); 作用   generates a l ...

  4. 我在开发网站后得出的asp.Net网站优化总结

    原文:我在开发网站后得出的asp.Net网站优化总结 asp.Net网站优化总结: 1.数据库优化: 首先是对查询语句的优化,开发时为了图快可以不考虑,但是后期维护时就必须要优化(比如:你调用代码生成 ...

  5. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡

    原文:ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡 CompositeControl  后篇 --事件冒泡 系列文章链接: ASP.NET ...

  6. 运用 finereport 和 oracle 结合开发报表思路大总结

    近排自己学习了一款软件finereport开发报表模块,自己总结了如何了解需求,分析需求,再进行实践应用开发,最后进行测试数据的准确性,部署报表到项目对应的模块中显示. 一.需求(根据需求文档分析) ...

  7. SuperMap iObject .NET开发完成后私有部署,打包安装

    转载自:http://blog.csdn.net/supermapsupport/article/details/53319800 作者:皇皇 SuperMap iObjict .NET组件开发结束后 ...

  8. RN与android原生开发混合后的环境报错问题

    RN与android原生开发混合后的环境报错问题 需要先安装nodejs$ yarn --version1.12.1更新当前版本yarn upgrade --latest安装 | Yarnhttps: ...

  9. Qt 开发程序后的公布问题

    Qt 开发程序后的公布问题 Qt 是一套跨平台 C++ 图形用户界面应用程序开发框架,利用它能够很方便的开发各种类型的应用程序.可是随着 Qt 的发展.功能越来越强大,公布时须要文件也越来越多.公布时 ...

随机推荐

  1. 云服务器 ECS Linux 服务器修改时区的两种方式

    在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...

  2. 更换VS2012序列号的方法

    转自:http://blog.sina.com.cn/s/blog_58c506600101ja49.html 今天不小心把还在试用期内的VS2012 Ultimate填上盗版Key激活了……找遍了菜 ...

  3. yii2-admin 插件使用简要教程

    yii2的访问权限默认是由自带的rbac组件在管理,需要自己编写相应的规则去实现权限管理,无图形界面.yii2-admin是将rbac的管理可视化,只需要点几下鼠标就能设置好简单的规则. 本教程中软件 ...

  4. C语言第六节基本运算符

    算术运算 C语言一共有34种运算符,包括了常见的加减乘除运算 加法运算+ 除开能做加法运算,还能表示正号:+5.+90 减法运算- 除开能做减法运算,还能表示符号:-10.-29 乘法运算* 注意符号 ...

  5. PathAnimation

    使用Blend制作PathAnimation 1:选中Path转换为运动路径 2:选择目标对象 PathAnimation使用动态的Path PathAnimation动画在播放的时候,PahtGeo ...

  6. [WinForm] TableLayoutPanel和FlowLayoutPanel的使用

    这篇文章主要跟大家分享下,在配餐系统的开发中,对tableLayoutPanel 和 flowLayoutPanel 控件的使用方法和技巧 ——后附上 测试demo, 相信需要的朋友下载看后能很快的知 ...

  7. winform中DataGridView添加ComboBox的最终解决方案(点击ComboBox默认显示当前行的内容)

    第一: 数据绑定ComBoBox控件 先在窗体设计时拖一个ComBoBox控件,然后在里面的ITEMS设好你要下拉项,或者从数据库中的表绑定,这个估计都会. 第二: // 将下拉列表框加入到DataG ...

  8. 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#

    #10.09-11.06#200元代金券.iPad大奖, 9大产品评测活动! 亲爱的阿里云小伙伴们: 云产品的多样性(更多的云产品)也是让用户深度使用云计算的关键.今年阿里云产品线越来越丰富,小云搜罗 ...

  9. 页面 Backspace 功能禁锢

    var flag=false; window.document.onkeydown = function keyDown() { if(event.keyCode==8){ event.returnV ...

  10. SQL Server之内连接 左连接 右连接 全连接 交叉连接

    SELECT * FROM Table_A GO SELECT * FROM Table_B GO --内连接 SELECT a.*, b.* FROM Table_A a JOIN Table_B ...