问题列表 - 第48241页

在Java中模拟静态方法调用的静态抽象和动态链接

介绍

作为一个免责声明,我读过为什么静态方法不能在Java中抽象化,即使我恭敬地不同意关于"逻辑矛盾"的公认答案,我也不希望任何答案static abstract只是答案的用处我的问题;)

我有一个类层次结构,表示数据库中的一些表.每个类都继承了一个类,Entity该类包含许多用于访问数据库,创建查询,转义字符等的实用方法.

类的每个实例都是数据库中的一行.

问题

现在,为了尽可能多地分解代码,我想添加有关每个类的相关列和表名的信息.这些信息必须在没有类实例的情况下可访问,并将用于Entity构建查询等.

存储这些数据的显而易见的方法是每个类中的静态方法返回的静态字段.问题是你不能强制类实现这些静态方法,你不能在Java中调用静态方法调用动态链接.

我的解决方案

  1. 使用HashMap或任何类似的数据结构来保存信息.问题:如果缺少信息,则错误将在运行时而不是编译时.
  2. 对实用程序函数使用并行类层次结构,其中可以实例化每个对应的类并使用动态链接.问题:如果该类不存在,代码繁重,运行时错误

这个问题

你将如何应对abstract static抽象方法的缺失和动态链接?

在完美的世界中,如果缺少类的信息并且可以通过使用Entity类轻松访问数据,则给定的解决方案应该生成编译错误.

答案不需要在Java中,C#也可以,如果没有任何语言的特定代码,如何做到这一点的任何见解将受到欢迎.

需要明确的是,除了简单之外,我没有任何要求.没有什么必须是静态的.我只想从中检索表和列名Entity来构建查询.

一些代码

class Entity {
    public static function afunction(Class clazz) { // this parameter is an option
        // here I need to have access to table name of any children of Entity
    }
}

class A extends Entity {
    static String table = "a";
}

class B extends Entity { …
Run Code Online (Sandbox Code Playgroud)

java oop static design-patterns dynamic-linking

23
推荐指数
1
解决办法
1520
查看次数

JavaScript库的测试驱动开发

目前我正在开发一个用于Web服务的JS库,您可以将它与Twitter Anywhere进行比较.现在我想让它更加以测试为导向.它不容易测试,因为它必须在每个想要使用它的网站上工作,当然还有每个浏览器.

如何有效地测试库?

所有API请求和响应都是JSON,是否有一种测试这些调用的好方法?

我知道Cucumber和js-test-driver.

问候,Chielus

javascript tdd

10
推荐指数
1
解决办法
992
查看次数

VPS上的Zend框架?

我正在考虑将Zend用于我的新项目.但我担心使用太多的系统资源.我在20美元的Linode VPS上

它值得吗?

php zend-framework

0
推荐指数
1
解决办法
564
查看次数

覆盖路由助手方法

问题有很多评论.

URL"questions/123"显示一个问题.

一个网址:

"问题/ 123#答案-345"

显示一个问题并突出显示答案.345-是Answer模型的id,"answer-345"是HTML元素的id属性.

我需要覆盖"answer_path(a)"方法来获取

"问题/ 123#答案-345"

代替

"答案/ 345"

怎么做 ?

routing overriding ruby-on-rails

14
推荐指数
1
解决办法
5605
查看次数

用$符号命名的Android或Java类

我正在审查某个项目,我发现有很多同名的课程,但最后有一个美元($)符号+正在增加的数字.例如

Class.java
Class$1.java
Class$2.java
Class$n.java
OtherClass.java
OtherClass$1.java
OtherClass$n.java
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

java android

13
推荐指数
1
解决办法
2812
查看次数

有多少查询太多了?

我必须在一个页面中为一个人运行一次10个mysql查询.这很糟糕吗?我有很好的托管,但仍然,它可以打破或什么?非常感谢你.

mysql performance

17
推荐指数
4
解决办法
1万
查看次数

C#/ ASP.NET以PDF格式创建可显示的发票

我想为发票创建PDF,我使用了iTextSharp的DLL,我能够成功创建PDF.我在ASP.NET中使用Visual C#.NET.

问题是,我想把信息标题放在左侧,然后将有关该信息标题的有关信息放在右侧.例如:

<blink>
First Name: John Marshal
Address: Missouri
Street: Honolulu 23rd
</blink>
Run Code Online (Sandbox Code Playgroud)

在这里,我将"名字,地址,街道"称为信息标题,将"John Marshal,Missouri,Honolulu 23rd"称为信息.

是否有任何解决方案可以将所有这些内容对齐,以便发票变得可见且有意义.虽然我已经使用空格来创建这种格式,如下所示: -

document.Add(new Paragraph("        CROWN SERVICE LIMITED", new Font(Font.BOLD, 25)));
document.Add(new Paragraph ("               John Marshal ", new Font(Font.BOLD, 20)));
document.Add(new Paragraph ("               Missouri Honolulu 23rd", new Font(Font.BOLD, 20)));
Run Code Online (Sandbox Code Playgroud)

虽然我试图在PDF的背景中使用图像,但它似乎仍然不合适.

我认为通过将数据转换为XML可以有一些解决方案,如果有可能,请告诉我.

c# pdf asp.net pdf-generation itextsharp

4
推荐指数
1
解决办法
8239
查看次数

如何使用范围运算符'..'创建utf-8字母?

有没有办法使用Perl'..'运算符创建UTF-8字母数组?

例如,这个不起作用:

$ cat t.pl
#!/usr/bin/perl

use Data::Dumper;
use encoding 'utf8';

print Dumper('?'..'?'); # not working!
print Dumper('?','?','?'); # ...works fine! but needs to be filling letter by letter

$ perl t.pl
$VAR1 = "\x{410}";
$VAR1 = "\x{410}";
$VAR2 = "\x{411}";
$VAR3 = "\x{412}";

$ echo $LANG
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

有什么建议?

perl

5
推荐指数
1
解决办法
256
查看次数

如何实现Android的聊天应用程序?

我正在为Android的聊天应用程序工作.此聊天应用程序用于使用此应用程序的互联网(GPRS,3G等)将消息从一个设备发送到另一个设备.请告诉我实现这个的方法.

我认为使用Web服务消耗的数据(互联网)更多,效率更低.这是对的吗?

我在服务器和客户端套接字上工作.我在单个设备中运行服务器和客户端类,消息可以从客户端套接字转移到服务器套接字,反之亦然.现在我想在两台设备之间使用服务器套接字在Web服务器上发送消息以及如何从Android设备连接到服务器.

android web-services chat

6
推荐指数
1
解决办法
1万
查看次数

非二分图中最大权重完美匹配的一种很好的近似算法?

Drake和Hougardy找到了最大加权匹配问题的简单近似算法.我认为我对学术论文的理解超出了我的能力,所以我正在寻找一个简单的实现,最好在php,c,javascript中?

javascript php algorithm math graph

5
推荐指数
1
解决办法
3371
查看次数