勘误: 原书(中文版)3.13节,65-69页中GenScatterHierarchy以及FieldHelper均存在问题,当TypeList中类型有重复时,无法通过编译(原因在于“二义性基类”). 书中出现的二义性问题,可以用一小段代码演示一下: class A{}; class B:public A{}; class C:public A,public B{}; void test() { C c; A& cf =c;//wrong,don't try this at home. B&…
原文内容提领: 本书第5章标题为泛化仿函数,我认为本章真正讲述的内容可以总结出一句话! 如何利用C++老标准实现C++11新标准类似std::function提供的功能. std::function简介: 分析std::function源码可知,std::function大量利用新标准的特性,变长参数模板,完美转发等. C++中可调用体: C++中的可调用体,现在可以补充一下 1.C-like function 2.C-like pointer to function 3.reference t…
PowerBuilder编程新思维3:适配(三层架构与GraphQL) PB在富客户端时代,是一线开发工具.随着网络发展,主流架构演进到三层架构的时代,PB拿不出有力的三层架构,已经明显力不从心,市场份额也江河日下.今天我们来细数一下PB的三层架构方式及其改进方法. PB三层架构方式一:EAServer 这是PB官方首推的三层架构,但是用三句可以总结,无感的体验,无奈的价格,无语的速度. 事实上除了EAServer这个选择,可以自己开发服务端,比如topwiz公司的PBNIServ 使用BPNI…
PowerBuilder编程新思维2:嵌入(Thread多线程) 在PB中使用多线程,在网上有大量的文章介绍.不过深入研究并试着给出更易用的模型的,目前还只有"路人甲cw"的一篇<关于PowerBuilder多线程的一些心得>. 因为PB多线程有着许多天然的限制,使用中有很多问题,那么简化模型是个必然的方向.由于我们引入了LUA脚本,使得多线程模型变得出人意料的简单. PB线程模型 原本的PB线程,依赖于SharedObjectRegister,SharedObjectGe…
MySQL 8.0.14 新的密码认证方式和客户端链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   MySQL8.0在密码认证方式发生了改变,这也是有点小伙伴在MySQL创建了想用的用户,也进行了授权操作,死活连接不上的MySQL的原因,归根究底还是MySQL官方做了优化操作,可以让客户端更快的连接到MySQL数据库,说白了就是加密方式发生了改变!我们在创建用户时需要手动设置认证方式,因为目前主流的MySQL图形化破解版工具,暂时还不支持MySQL8.0默认的密码策略,…
PowerBuilder编程新思维5:包装(界面美化与WebUI+React) 前一节,分析了三种界面美化方案,都是控件级的美化.今天再来分析一下窗口级的美化.上一次讲的DirectUI,大家反响一般,效果和创新都不足.那是没有讲完的原故.今天……还是没有讲完,不过效果应该还行吧:). PB界面美化方案四:DirectUI包装 Hook的方式使用DirectUI,是局限在控件里.如果创建一个类似Canvas的可视控件,把所有控件包装在一个(或几个)控件里面,我把这种方式称之包装(Wrap). 在…
<第二部分 Outside> PowerBuilder编程新思维4:钩挂(界面美化与DirectUI) PB的界面由于其封闭性,一直以来都是最大的弱项.自PB9.0开放了PBNI接口后,开始流行起来一些界面美化方案.目前来看,共分三类. PB界面美化方案一:Canvas自绘 PBNI接口允许创建自绘组件,开源软件Kodigo创造了Canvas组件,允许PB代码自绘组件界面,由此开创了Canvas自绘方案.当前比较流行的组件库有: 一.Kodigo 二.AdvancedGUI 三.PowerFr…
前言 PowerBuilder作为开发工具退出一线行列已经很久了,在2019年来谈这样一款老旧的编程工具是否有意义?诚然,PB有着太多硬伤,但还是有它的用武之地的.而且今天讲的这个“新思维”大部分内容是我在其它地方没有见过的,包含一些比较新的思想,但愿能够给各位读者带来耳目一新的感觉和有价值的参考. 由于内容比较多,打算合起来作为一个库,名字叫PowerPlume,中文为“孔雀翎”,古龙书中强大又美丽的武器. PowerBuilder编程新思维1:扩展(Lua) PB环境是封闭的,导致有些部分的…
  FS系统开发设计(思维导图) 最近做了一个小系统,公司应急,要对各个部门进行费用成本核算分摊,做运维,苦于无奈,简简单单的设计了一下,模仿用友ERP软件,首先对DB进行了初步设计,总体如下: 未完待续,首次用XMind做的,验证一下效果.…
原文:基于事件驱动的DDD领域驱动设计框架分享(附源代码) 补充:现在再回过头来看这篇文章,感觉当初自己偏激了,呵呵.不过没有以前的我,怎么会有现在的我和现在的enode框架呢?发现自己进步了真好! 从去年10月份开始,学了几个月的领域驱动设计(Domain Driven Design,简称DDD).主要是学习领域驱动设计之父Eric Evans的名著:<Domain-driven design:领域驱动设计:软件核心复杂性应对之道>,以及另外一本Martin Flower的<企业应用架…