我有一个网页,用户可以在其中填写和提交表单:
<form id=email...
send email ....
<input type="hidden"id="method" value="sendemail"...
/>
.............
<form id=writeindatabase
some data
............
<input type="hidden"id="method" value="writeindatabase"...在服务器端:
if (method.compareTo("sendemail")==0) {
doSendEmail(....
}
else if (method.compareTo("writeindatabase")==0) {
doWriteInDatabase(....
..............................我不喜欢这个架构,因为它违反了open close principle。有没有可能通过重构来解决这个问题?谢谢。
发布于 2013-02-21 22:43:55
您可以以结构化、安全的方式使用反射,或者使用类似的命令模式。
Map<String, Method>,将每个可接受的方法名称映射到一个反射模式对象,您可以在查看它之后使用该对象up.Method:以类似于上面的方式使用一个Map<String, Callable<?>>。通过调用适当的服务方法,将Callable实例化为实现call的匿名内部类。https://stackoverflow.com/questions/15004576
复制相似问题