当前位置: 首页 > news >正文

怎么用dw英文版做网站公司用于做网站的费用怎么做账

怎么用dw英文版做网站,公司用于做网站的费用怎么做账,wordpress添加支付宝打赏,找工程包工平台Java有时可能非常棘手#xff0c;特别是在API设计中。 让我们看一个非常有趣的展示柜。 jOOQ强烈地将API与实现分开。 所有API都在org.jooq包中#xff0c;并且是公共的。 大多数实现都在org.jooq.impl包和package-private中。 只有工厂和一些专用的基础实现是公开的。 这允许… Java有时可能非常棘手特别是在API设计中。 让我们看一个非常有趣的展示柜。 jOOQ强烈地将API与实现分开。 所有API都在org.jooq包中并且是公共的。 大多数实现都在org.jooq.impl包和package-private中。 只有工厂和一些专用的基础实现是公开的。 这允许非常强大的包级封装几乎只向jOOQ用户公开接口。 包级封装的简化示例 大致来说jOOQ如何建模SQL表。 过于简化的API package org.jooq;/*** A table in a database*/ public interface Table {/*** Join two tables*/Table join(Table table); } 还有两个过于简化的实现类 package org.jooq.impl;import org.jooq.Table;/*** Base implementation*/ abstract class AbstractTable implements Table {Overridepublic Table join(Table table) {return null;} }/*** Custom implementation, publicly exposed to client code*/ public class CustomTable extends AbstractTable { } 内部API的公开方式 假设内部API在协方差方面有一些技巧 abstract class AbstractTable implements Table, InteralStuff {// Note, this method returns AbstractTable, as it might// prove to be convenient to expose some internal API// facts within the internal API itselfOverridepublic AbstractTable join(Table table) {return null;}/*** Some internal API method, also package private*/void doThings() {}void doMoreThings() {// Use the internal APIjoin(this).doThings();} } 乍一看这看起来很安全是吗 AbstractTable是包私有的但是CustomTable对其进行了扩展并继承了其所有API包括“ AbstractTable joinTable”的协变方法重写。 这会导致什么 查看以下客户代码 package org.jooq.test;import org.jooq.Table; import org.jooq.impl.CustomTable;public class Test {public static void main(String[] args) {Table joined new CustomTable();// This works, no knowledge of AbstractTable exposed to the compilerTable table1 new CustomTable();Table join1 table1.join(joined);// This works, even if join exposes AbstractTableCustomTable table2 new CustomTable();Table join2 table2.join(joined);// This doesnt work. The type AbstractTable is not visibleTable join3 table2.join(joined).join(joined);// ^^^^^^^^^^^^^^^^^^^ This cannot be dereferenced// ... so hide these implementation details again// The API flaw can be circumvented with castingTable join4 ((Table) table2.join(joined)).join(joined);} } 结论 篡改类层次结构中的可见性可能很危险。 注意以下事实在接口中声明的API方法始终是公共的而不管涉及非公共工件的任何协变实现。 如果API设计人员无法正确处理API用户这可能会很烦人。 在下一版的jOOQ中已修复 参考 Java的深度在JAVASQL和JOOQ博客中 JCG合作伙伴 Lukas Eder 通过协方差暴露了API泄漏 。 翻译自: https://www.javacodegeeks.com/2012/05/depths-of-java-api-leak-exposed-through.html
http://www.zqtcl.cn/news/798367/

相关文章:

  • 织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名电脑网站模板
  • 北京网络营销网站品牌营销增长公司哪家好
  • 网站反链有好处吗稷山网站建设
  • 廊坊网站群发关键词怎么在百度上推广自己的公司信息
  • 网站开发 沈阳免费模板建站
  • 商业性质网站建设步骤wordpress电影网盘
  • 网站的外部推广成都房产网官网
  • 深圳网站建设创想营销北京土巴兔全包装修价格表
  • 怎么发布php网站邯郸建设网站制作
  • 手机网站做多宽的图片wordpress顶部导航栏怎么创建
  • 如何做招聘网站的数据分析安徽黄山旅游攻略
  • 2022建站市场国际新闻直播
  • 茗哥网站建设装饰公司网站规划方案
  • 北京天津网站建设公司做平台网站要多久
  • 做我女朋友的表白句的网站做seo_教你如何选择网站关键词
  • 如何对网站用户分析徐州网站制作如何定位
  • 网站定制生成器龙岗网站设计讯息
  • 镇江市建设工程网站蜘蛛爬取网站
  • 个人备案网站可以做电影站吗微信做的地方门户网站
  • 网站上传根目录美点网络公司网站
  • 长春微信做网站网站开发和设计如何合作
  • 江门网站制作报价买网站不给我备案
  • 太原百度网站快速优化网站 后台 数据 下载
  • 某网站开发项目进度表天元建设集团有限公司赵唐元
  • 网站外链收录很多 内链收录几个西安网站seo优化
  • 网站源码制作网站产品类别顺序如果修改
  • 北京定制网站开发公司浩森宇特本机快速做网站
  • 校网站建设方案网站怎么优化关键词快速提升排名
  • 手机号注册的网站wordpress蚂蚁主题
  • 专业的集团网站设计公司优化网站服务