我有一个复杂的系统来设计.我有两种方式:
自上而下:我将设计许多接口和合同.后来,我将实现这些接口,并编写原型来验证设计.
自下而上:我将编写代码以使系统运行.后来,我将从实体代码中提取接口和契约.蒸馏的接口和合同是我的设计.它的规则是" 让它运行,使其正确 ".
有什么更好的方法?从我的观点来看,我会选择Bottom-up.因为自上而下是非常困难的,所以没有人可以在高抽象级别设计许多接口,至少对我来说这很难.当我编写可靠的实现来验证初始设计时,有许多不合理的东西迫使我从头开始重新设计.虽然我使用Bottom-up,但我感觉非常"安全",它至少可以运行.
标题:为什么聚合功能对RESTful不好?虽然我知道CRUD对RESTful有好处.
例如,资源是" 员工 ",客户需要检索所有员工的总" 工资 " 总和.RESTful服务不应该提供这样的求和功能吗?
进一步的问题:如果聚合功能对RESTful不利,客户如何获得总薪水总和?要检索所有" 员工 "记录并总结一下?
Bloch说:提供以字符串形式提供的所有可用数据的编程访问.
我想知道他是否意味着覆盖toString()哪些应该涉及' 所有可用数据 '?
我认为' in string形式 '意味着字符串是供人阅读的,所以覆盖toString()就足够了.我对么?
问题1:我们知道,当一个类加载器即将加载一个类时,它会将请求委托给它的父类加载器.但是在Tomcat中,它不会:您可以加载您的类来覆盖放在通用lib目录中的同一个名称类.这意味着Tomcat WebappClassloader不遵循委派政策.这违反了惯例吗?
问题2:我写了一个类并将其放在通用的lib目录中,显然这个类是在web应用程序之间共享的.例如,每个Web应用程序都可以读取/写入类的静态字段.此外,JDK中的类由Bootstrap类加载器加载,然后它们的静态字段由任何Web应用程序共享,这是危险的吗?
有两个Scala函数:
一个): def foo(): Int = try { 1 } finally { 2 }
B): def bar(): Int = try { return 1 } finally { return 2}
我无法弄清楚为什么foo返回1但bar返回2.
我使用JDBC通过'IN'语句检索Oracle数据库.但是有太多的表达,大约> 1000.看起来像:
SELECT * FROM MyTable WHERE name IN (?, ?, ?......); --More than 1000 question signal
Run Code Online (Sandbox Code Playgroud)
它会导致" 语法错误或访问规则违规 ",这意味着" 列表中的最大表达式数为1000 ".
我是否必须多次进行检索操作(例如,使用100'?'并检索10次)并合并列表?更好的解决方案?谢谢!
编辑:我没有机会修改数据库,这不是我的艺术作品.
我想写入最好的控件中的文件或字符串,这应该通过逐位控制来实现.
例如,' 00101111 '(2Fx)应该写入String.我应该在这里使用哪一堂课?我必须使用字节来表示位吗?
我使用Firefox 3.6作为我的浏览器,它安装在" C:\Program Files\Mozilla Firefox"上.
但是我找不到离线存储缓存目录,而且我也找不到关于Firefox中缓存目录的配置.谁知道目录?谢谢!
我的程序中有许多文件操作,例如复制/移动/删除文件.
当然,我可以使用JDK java.io.File类来处理这样的操作,但我认为必须有更好的开源解决方案,对于这种情况,它更强大,更高效,更方便和跨平台.你能推荐一个吗?谢谢!
我正在寻找一个建议.我有一个PersonString firstName和String lastName的类当我想要插入具有相同String的列表值时:
set.add(new Person("firstName","lastName"))
set.add(new Person("firstName","lastName"))
Run Code Online (Sandbox Code Playgroud)
该集合不会过滤对象,他们仍然进入集合.有没有建议创建集合列表而不重写equales和hashcode函数?也许用番石榴或一些groovy列表?谢谢,或者.