主页 > 云储存 > > 正文

数据库服务器_如何开通qq企业邮箱_超低折扣

浏览:

在过去的几年里,我花了很多时间阅读和体验一些编程范例。我与人交谈,阅读书籍,博客,并创造自己的经历。2013年,我在四位同事的帮助下编写了德语ABAP Kochbuch。在这本书中,我们试图展示一些可以简化您的工作和提高您的程序质量的技术。这是最古老的编程范例之一,也是软件设计的主要原则之一。把你的功能划分成更小的单元将使测试更容易,程序也更容易阅读。

上周我想到这可能是一个新设计原则的时代:

抽象驱动开发的时代。

ADD的目标(我真的发明了一个新术语!我不敢相信!)就是把事情放在最抽象的层面上。它不仅要模块化到最大(或者更好:到最小……),返利app可信吗,还要将代码放入通用的、全局可访问的函数中。我这样做的方法如下:

每一个新的技术或原理,你想学习你将不得不尝试,尝试,再尝试。练习。编写抽象和通用模块需要大量的实践。如果你真的尝试了一种新技术,你只能估计它的利弊。如果你尝试,你会犯错误,你会发现事情复杂而冗长。这是正常的过程。至少它会帮助你有这种思维的经验。

即使你不使用测试单元或设计模式,它也会帮助你有关于它的知识,智能物联网,知道它的优点和缺点。这就是我提出抽象驱动开发概念的主要原因:开阔你的视野,让你思考不同的选择。我决不会把这种编程作为唯一的程序来宣传,也不会告诉你,你必须用这种方式来编程才能得到完美的程序。

在我看来,学习新事物和尝试不同的思维方式是非常有用和不可或缺的。

我承认,笼统和不具体是不容易的。编写一个具体而详细的函数更容易。我听说狭义相对论比广义相对论容易得多。因此,我假设这个规则对编程也是正确的。

但是现在让我告诉你一些关于抽象的技巧:

在这一节中,我将尝试用我在技巧中已经提到的一个详细的例子来说明我的意思:魔法过滤器。

这个想法的起源来自一个项目,我不得不分析和检查一个在不同的视图中进行大量计算。为了让您了解这些数据,淘客大联盟,我将参考我在博客中使用的示例:物料数据。

假设您有一个应用程序使用具有不同视图的类似数据:

在这个应用程序中,您必须检查物料水平、库存水平等的合计、聚合和计算是否正确。你将不得不过滤材料,储存地点,工厂,材料类型等。如果你每天都要这样做,每周都要这样做好几次,这可能会很烦人。第一个想法是在这个任务中使用观察者模式。每个ALV网格都必须在全局过滤器类中注册。全局过滤器类有一个方法,您可以在其中设置特定的过滤器。您可以在上面的截图中看到第一个截图:过滤器是通过选择屏幕中的简单选择选项定义的

过滤器将为所有注册对象设置。这些对象的引用保存在内部表中。问题是,自助建站开发,如果过滤器使用的字段在已注册网格的表中不存在,则网格的方法SET\u FILTER将转储。因此,我必须检查每个注册网格的字段目录,并在应用网格之前删除网格中不存在的字段。

下一个想法是在任何注册网格中设置一个过滤器,并将此过滤器扩展到所有注册网格。因此,我不得不向网格工具栏添加特定于用户的函数。由于采用了SALV模型,使用CL\u SALV\u函数类可以很容易地实现该功能并将其放入一个单独的类中。

当调用函数zcl\u magic\u filter=>spread\u my\u filter时,当前网格将被传递给该函数。方法spread\u my\u filter读取当前过滤器设置并将其应用于所有其他已注册的网格。

当使用不同的表和视图时,只有一小部分字段可能有意义。因此,我想到了使用一个结构来保存应用程序的所有合理字段。基于这个结构创建一个网格,让用户在这个虚拟网格中过滤。

使用虚拟网格不是很方便。最好使用网格中也使用的过滤器对话框。使用功能模块LVC\u FILTER,您可以使用字段目录直接调用FILTER对话框。报表重用\u FILTER \u 1演示了FILTER对话框的用法。

这里的问题是F4帮助值对话框。使用过滤器时,您将只看到表中存在的值。很难使用基于域修复值或检查表的通用F4值帮助。F4值帮助有一个回调例程,但处理起来不太容易。或者我没有找到使用这个出口的正确模块。

由于参数的向下转换功能,您可以使用TYPE OBJECT将网格实例传递给助手类zcl\u magic\u filter。在这些方法中,您可以尝试将对象强制转换为CL\u GUI\u ALV\u GRID或CL\u SALV\u TABLE。

类CL\u SALV\u CONTROLLER\u元数据有助于将筛选器应用于任何网格。

下面是如何获取任何类型网格的fieldcatalog的示例:

导入参数:GRID OBJECT ir\u GRID type REF to OBJECT。

返回参数:rt\u fcat typeLVC\u T\u FCAT.

数据lr\u salv type ref to cl\u salv\u table.

数据lr\u grid type ref to cl\u gui\u alv\u grid.

try.

lr\u salv?=ir\u grid.

rt\u fcat=cl\u salv\u controller\u metadata=>get\u lvc\u fieldcatalog(

r\u columns=lr\u salv->get\u columns()

r\u aggregations=lr\u salv->get\u aggregations())。

catch cx\u sy\u move\u cast\u error.

endtry.

try.

try.

lr\u grid?=ir\u grid.

lr\u grid->get\u frontend\u fieldcatalog(importing et\u fieldcatalog=rt\u fcat).

catch cx\u sy\u move\u cast\u error.

endtry.

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 对象存储_网站集约化建设_哪家好
    对象存储_网站集约化建设_哪家好

    对象存储_网站集约化建设_哪家好

    当戴夫·麦克卢尔首次提出海盗指标的概念时,它震撼了创业界的核心。尽管你现在可能知道他是500家初创企业的幕后推手,但在贝宝(PayPal)上市前担任...

  • 数据库_数据库事务原理_安全稳定
    <strong>数据库_数据库事务原理_安全稳定</strong>

    数据库_数据库事务原理_安全稳定

    为CloudFlare客户提供对源站的免费和高性能加密2014年秋季,CloudFlare推出了Universal SSL,并将通过HTTPS访问的网站数量增加了一倍。在短短几天内,我们颁发了...

  • 百度云_企业邮箱怎么设置签名_排行榜
    百度云_企业邮箱怎么设置签名_排行榜

    百度云_企业邮箱怎么设置签名_排行榜

    在快节奏的销售世界里,时间是无价的。这正是为什么你需要停止切换标签,使用新的Pipedrive Chrome扩展直接从Gmail使用Pipedrive的强大功能。如果你是一个狂...

  • 游戏服务器_节点服务器_优惠
    <strong>游戏服务器_节点服务器_优惠</strong>

    游戏服务器_节点服务器_优惠

    nomad0.11为任务引入了生命周期部分,可以用来表示任务依赖关系。这可以用来表示任务组中任务之间的任务依赖关系,甚至可以利用consur来表示任务间的任...

  • 企业邮箱_华为云techwave_企业级
    <strong>企业邮箱_华为云techwave_企业级</strong>

    企业邮箱_华为云techwave_企业级

    遵守一套不断发展的数据隐私法规的需求可能看起来很繁重,或者会导致公司停滞不前,不知道下一步该采取什么措施。如果不了解这些法规对日常运营的...

云储存

更多 >
  • <strong>香港带宽_视频云存储_0元</strong>
    香港带宽_视频云存储_0元

    这些年来,我参加过几次同性恋、双性恋、双性恋和双性恋的游行,在澳大利亚生活时,我曾多次为悉尼同性恋狂欢节做志愿者。现在,自从2014年我转到帕...

  • <strong>免备案CDN_备案老域名出售_三重好礼</strong>
    免备案CDN_备案老域名出售_三重好礼

    SAP Korea于6月10日和11日举办的首个"设计思维弹出式学校"取得了巨大成功。首尔的设计与共同创新中心团队领导了此次活动,该活动是与韩国最有影响力的商...

云储存天翼云_3096天百度云链接资源_返现
云储存百度云_服务器海外_最新活动
云储存CDN_腾讯的企业邮箱_9元
云储存云数据库_asp网站空间_学生机
云储存香港服务器_vpn服务器设置_精选特惠