前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于pb decompiler的搜索

如何写最少的代码作成本最低的软件而赚更多的钱--一切尽在OOP - chengg0769 来自四川,在东莞虚度十载 - 博客频道 - CSDN.NET chengg0769 来自四川,在东莞虚度十载 PB反编译_Powerbuilder DeCompiler_PB反编译器_PB混淆器_PB加密 目录视图 摘要视图 订阅 新年新气象------CSDN2014新版导航就要跟大家见面了 2014年1月微软MVP当选名单揭晓! 消灭0回答,赢下载分 “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 如何写最少的代码作成本最低的软件而赚更多的钱--一切尽在OOP 2007-12-29 00:25 563人阅读 评论(0) 收藏 举报 oopinsertstructpowerbuilder框架string 一。封装,重用是唯一方法。 二。形成成熟框架。 作不到这两点,每写一套软件,哪怕是及其相似,你也只能从头开始。虽然PB是一个可以快速开发原型的系统。但总比不上花两周时间就可以交付使用来得更猛。 OOP的好处和概念自然不必说,但很多作系统的人(当然指没有架构师的情况下完成的软件。有架构师的软件从一开始就不会给你随便乱来)。 那我们以一个简单的实力来说明: A.关于封装问题: 见PB11新开发模式的深入学习计划:以及开发思路应转变到框架重用和面向对象 http://blog.csdn.net/chengg0769/archive/2007/12/22/1958480.aspx 的ddlb的填充问题。 B.关于框架:比如菜单权限,见我的powerbuilder框架,经过三套软件的开发逐渐形成并得到完善http://blog.csdn.net/chengg0769/archive/2007/12/13/1932284.aspx 菜单及其权限。 另外举例说明: 比如我们在"系统选项"里会涉及到很多备选项设置: 很多设置项,比如部门编码,业务种类,只需要如上图的单一DW即可完成。而且编辑方式就是几个:刷新,新增,修改,删除,保存。我们可以写五个事件,而按钮只作触发(postevent),不要把事件写在控件里,因为你可能会删除一个按钮。比如: open: dw_1.dataobject = "d_XXX_FK"dw_1.settranobject(sqlca)if dw_1.retrieve()<1 then messagebox("提示","当前无资料,请建立")end if ue_refresh:dw_1.retrieve()gf_change_protect_color(0,dw_1,"-1-2-3-4-5-") //全局函数,改变背景色和取消protectedit_statu = "query" ue_insert:long insert_rowinsert_row = dw_1.insertrow(0)if insert_row < 1 then returngf_change_protect_color(1,dw_1,"-1-2-3-4-5-") //全局函数,改变背景色和取消protectdw_1.scrolltorow(insert_row)dw_1.setrow(insert_row)dw_1.setcolumn(1)edit_statu = "inserted" ue_modify:if dw_1.rowcount()<1 then returngf_change_protect_color(2,dw_1,"-2-3-4-5-") //全局函数,改变背景色和取消protectdw_1.setrow(1)dw_1.setcolumn(2)edit_statu = "modified" ue_delete:(略) ue_save:(略) 我们看到gf_change_protect_color(1,dw_1,"-2-3-4-5-") 这个函数其实封装了改变编辑栏背景,并取消其保护,使得该栏可以编辑,不要再像一个初学者一样地老老实实的一个一个栏位去设置了,封装吧。 另外一个我们看到红色部分不应该写死,否则继承之后或者重用时,你需要修改代码。最好的方式就是用对象变量来设置,则重用时只需要修改即可,我的做法其实不用继承,直接另存就可以重用,类似c++中的模板编程。如下: variables declare area:constant str_dataobj = "d_XXX_FK"constant str_protect_color_refresh= "-1-2-3-4-5-"constant str_protect_color_insert = "-1-2-3-4-5-"constant str_protect_color_modify= "-2-3-4-5-" 则我们在事件中就是如此:gf_change_protect_color(1,dw_1,str_protect_color_insert ) 好了,成了,对不同的应用来说,dw已经封装了不同的设置项,只是栏位不同而已。好了,我们写了这一次代码后,通过在其他地方继承或者通过引用pbl即可在其他系统里使用了。我们可以这么说,如此的界面,这辈子都不要再写了。这就是OOP.我们在具体运用时,只需要设置这几个可变部分即可在任何系统里花一分钟而重用到这个界面。 #20071231append:其实,我们把向窗口传递的必要参数,可以归整到一个struct里,则在menu里先设置一个struct的成员变量,然后通过消息机制,把struct传给窗口,则我们连继承都不需要了,还不用产生那么多对象。比如: common_FKEDIT_struct{ //For w_common_FKEDITstring win_title //e.g. = "部门代码基本设置"string str_dataobj //e.g. = "d_XXX_FK"string str_protect_color_refresh //e.g. = "-1-2-3-4-5-"string str_protect_color_insert //e.g. = "-1-2-3-4-5-"string str_protect_color_modify //e.g. = "-2-3-4-5-"}这样我们看,通过菜单的clicked事件,传入struct给w_common_FKEDIT,我们跟在c++中的模板一样。不需要针对哪一种FK的基本设置来编写一个新窗口了。因为他们都可以用这个窗口,甚至不需要另存或者继承嘛。所以我的软件现在在ue_xxxx这些事件里,代码越来越短,好读而且开发效率高,说到底都是OOP的功劳。当然,不要试图在没有任何经验的条件下先作封装再作项目,估计你的项目就会失败。这应该是一个是二逐渐递进叠代的过程。 当然在PB的教材里,包括一些PB数据库运用的教材里,OOP都有提到,但没有着重来讲,而大公司当然是在开发系统时框架和重用都考虑到的,而作为一些个人项目,大家得注意此方法运用。当然作为PB人,我是通过C++使得我真正明白什么叫OOP的。所以不要忘记学习另外的语言来补充自己的知识,而c++,java就是既值得学习,在其他项目里最可能用到的两种。特别是:java从你动手开始,写第一行代码开始,就在一个class里,强制你知道和明确什么叫封装和面向对象,不错,确实,只要你包在class里的东西自然就有了方便移植和重用嘛,而且有接口嘛。所以这个道理很简单,但观念好难转变。当然class级的封装还不是很高级的,更好的一些还包括整体方案,架构,程序框架,协议,接口,格式,约定,这些。随着项目的累计,都是宝贵的财富。它们跟class一样,也是可以叠代完善并重用的。 当然。更多的重用考虑要你自己去作,去体会,可以从三个方面入手: 一,形成和整理框架二,可视自定义控件三,常用界面的可重用模板(如上)四,非可视对象的抽象和形成自己的可重用类库五,对单据常用编辑功能(insert,modify,delete,undo,check,savaas,savetoexcel,checkValid,savedata)的封装和整理,通用化.比如savedata事件:dw_x.acepttext()of_checkvalid()of_checkSQLSTATUS()of_recovery_status()这几个过程基本是必须的,你可以写一些通用的代码。六,最重要的,改变思路,多从其他语言体会借鉴。 更多 上一篇:Google资深软件工程师谷雪梅谈Google技术平台和服务架构(csdn视频地址) 下一篇:自称能自动进行模板匹配并抓取的垂直搜索都是假的 查看评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 核心技术类目 全部主题 Java VPN Android iOS ERP IE10 Eclipse CRM JavaScript Ubuntu NFC WAP jQuery 数据库 BI HTML5 Spring Apache Hadoop .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace Web App SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP Spark HBase Pure Solr Angular Cloud Foundry Redis Scala Django Bootstrap 个人资料 chengg0769 访问:515727次 积分:8551分 排名:第420名 原创:267篇 转载:211篇 译文:0篇 评论:348条 文章搜索 文章分类 PB反编译与加密(12) IOS和安卓(9) PB与数据库(9) 网络相关(1) 搜索相关(0) 闲话扯起耍(1) 其他语言(4) 文章存档 2013年12月(2)2013年11月(2)2013年09月(1)2013年02月(1)2012年11月(1)2012年09月(1)2012年08月(6)2012年07月(1)2012年05月(3)2012年03月(4)2011年12月(2)2011年11月(2)2011年10月(9)2011年09月(6)2011年08月(11)2011年07月(2)2011年06月(4)2011年04月(3)2010年12月(1)2010年10月(2)2010年09月(8)2010年08月(1)2010年07月(8)2010年06月(17)2010年05月(2)2010年04月(2)2010年03月(4)2010年01月(1)2009年09月(8)2009年08月(5)2009年07月(8)2009年06月(8)2009年05月(16)2009年03月(2)2009年02月(7)2008年12月(2)2008年11月(4)2008年10月(5)2008年08月(1)2008年07月(2)2008年01月(12)2007年12月(29)2007年11月(7)2007年10月(4)2007年09月(20)2007年08月(55)2007年07月(176) 阅读排行 搜索引擎学习资源(作者:dongdonglang)(14656) 做代理网站最有效的4种宣传方法(admin9.com)(12007) 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)(8064) 程序员的SEO总结(7459) 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(5999) 在一台联想3000G430 T1600笔记本上安装黑苹果(东皇v10.6.3)成功(5948) PowerBuilder DeCompiler(pb decompiler) Demo download(PB反编译,支持5-12)(5887) PB11.5,PB12 web项目初探(5635) 文件夹加密原理 [转](5627) powerbuilder反编译器开发-第一步:pbd结构分析和pbkiller分析(5473) 评论排行 浅谈Powerbuilder的未来和Powerbuilder使用者的未来(49) 程序员的SEO总结(32) 有关Powerbuilder的悲观论和乐观论(由郭贴引发的300多贴争辩想到的,也是很久就想秉明的一个观点)(22) Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder(20) 戏说DataWindow的“移植”和“临摹”(19) 因为垄断形成,数据库市场将出现更多开源数据库(19) 免费软件模式之随想(18) 软件提交到国外的下载站的几点操作和想法(15) PB11.5,PB12 web项目初探(15) 关于对pbd反编译器的期待(11) 推荐文章 最新评论 安装两个BCB6控件SynEdit、mwEdit 0.92a的过程总结 jiduxiaozhang12345: 请问BCB6的第三方控件在哪下载啊?急求 Powershield一个疑似的BUG zhj149: 高手啊,看你的文章,感觉你玩pb已经到了极致的境界了,我自认为pb还不错,和你比起来,还是差了太多了 软件提交到国外的下载站的几点操作和想法 u012353953: 楼主在吗?有个问题请教,看到请加我QQ,谢谢。17493589 Lucene(Nutch)距离商业文本搜索引擎还有多远?(转载) koubi1986: 你好!请教一些问题:请问一下1。你是如何把nutch抓取到的二进制内容,在项目中读取的。2。nutc... 看一个商业共享软件是如何在下载站刷下载量来作弊的! u011506701: 您的判断是有误的,像我研究的刷量算法你就根本看不出来,出现的曲线图跟正常的一模一样的,附:刷量是最好... 垂直搜索引擎蜘蛛的基本解决方案(编程实例:所以推荐) gis101989: 你好,我正在写面向主题搜索引擎结合地理信息的论文,很多地方不懂,能加个扣扣吗?非常感谢你的帮助,我的... 浅谈Powerbuilder的未来和Powerbuilder使用者的未来 hosthelp: PB的最大缺点就是:(其实很简单)过时了。 服装过时就没人穿了, 电器过时就没人买了, 明星过时(过... 三岁小孩开发搜索引擎,搜索引擎白热化[原创] rongzi1987: 顶一个。先顶再看 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题) hua2000: 顶顶更健康正在研究反向工程 有个傻B说破解了我的软件—哈哈!黄金屋手机MP3.MP4.3GP.电影.下载系统 ljx811216: 真有这事,看看 我的未来方向 pconline/asp.net周金桥老师的aspnet 友人Blog 旧博客在sina Bluesen的语音卡开发平台 JackXu的开源语音卡框架 经验丰富的好友:杨光的专栏 蓝星际语音平台,Koodoo语言 Lucene改造者-yuetiantian 西部.阿呆's blog manesking:全文检索c/c fullfocus研究lucene,nutch 黄国酬的博客 把“天轰穿”的asp.net 雨松.安卓