我希望这个问题有道理.基本上,我正在寻找一套指南,甚至是一个教程,它将展示如何创建一个可以轻松添加和删除"模块"或"加载项"的应用程序
例如,在Microsoft Office中,您通常会看到可以下载和安装的程序,它们只会在Microsoft Word中添加一个额外的选项卡(例如),它将实现一些新功能.
我有几个使用基本相同的数据源的应用程序,我想整合它们,并且还可以在未来添加更多功能,而不需要1.需要全新的安装和2.调整我的每一段代码.
我正在寻找一个可以开始的地方.
提前致谢.
**
编辑:详细说明......我特别想到的是一个应用程序,它访问存储在文本文件中的大量数据,并使用一些数据创建一些图表,也许还有一些表格.我希望能够使用相同的数据在将来添加不同的图表.因此,您可以单击Button_A并生成Graph_A,几周后,您可以单击Button_B并生成Graph_B.
如果我能想出一种只需要从文件中读取一次数据的方法,那将是非常好的,但我知道这将需要稍微调整我的DataReader类.
在休眠
连接查询可以与非实体类映射.如何将数据库查询映射到Object [在Java中]?
<class name=... select="select A.field_a, B.field_b, ... from A, B, ...">
Run Code Online (Sandbox Code Playgroud)
如何在JPA/Hibernate中实现相同的功能?
我想使用正则表达式验证一个数字..条件是数字可以从任何负3位数值到正3位数但不能为零.
有人可以帮助我获得正则表达式的条件.
在尝试实现存储库模式时,我遇到了一个小问题,我担心其实会掩盖更大的问题.
我有一个DatabaseEntity <T>,我用它来处理所有基本的CRUD操作,并且需要存储在数据库中的所有其他类都将从中运行.它适用于直接从它继承的类,但是当它与具有中间父类的类一起使用时,我遇到了问题.
假设我有三个其他类,Parent,ChildA和ChildB,并且继承看起来像:
DatabaseEntity
|
家长
| |
ChildA ChildB
还假设DatabaseEntity <T>具有带以下签名的方法:
public static T FindBy(int id)
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当我尝试这样的事情时:
ChildA Foo = ChildA.FindBy(SomeID);
Run Code Online (Sandbox Code Playgroud)
我收到编译器错误,告诉我没有从Parent到ChildA的隐式转换.这是因为Parent是将ChildA和ChildB的类型参数传递给DatabaseEntity的类.我认为简单的修复,只需向Parent添加一个类型参数,从而通过适当的类型.只需等待一秒钟,然后我必须在使用Parent时明确定义子类型,这会破坏任何多态性.不,第二个想法也许这不是一个很好的修复.
我认为我可以在类DatabaseEntity本身上删除type参数并让每个方法都需要一个类型参数但是我必须做类似的事情:
ChildA Foo = ChildA.FindBy<ChildA>(SomeID);
Run Code Online (Sandbox Code Playgroud)
虽然编译,但它似乎不太干净,当然需要更多打字.Visual Studio询问我是否错过了一个演员,而它的真实性我可以在我意外输入之前将我的第一个例子只是时间问题:
ChildB Foo = (ChildB) ChildA.FindBy(SomeID)
Run Code Online (Sandbox Code Playgroud)
我对目前为止我想到的任何解决方案都不是特别满意,我希望有人可以指出一个我错过的优雅解决方案.
我正在尝试使用c#从聊天中解析日志文件,我遇到的问题是它并不是真正设计用于解析,因为它不使用标准分隔符.以下是文件中典型行的示例:
2010-08-09 02:07:54 [Message] Skylar Morris -> (ATL)City Waterfront: I'll be right back
date time messageType userName -> roomName: message
Run Code Online (Sandbox Code Playgroud)
我想要存储的字段是:作为DateTime类型加入的日期和时间
为messageType
用户名
ROOMNAME
信息
如果它可以通过标准分隔符(如空格,制表符或逗号)分隔,那么它将非常简单,但我对如何攻击它感到茫然.
作为后续操作,使用此代码作为模板:
List<String> fileContents = new List<String>();
string input = @"2010-08-09 02:07:54 [Message] Skylar Morris -> (ATL)City Waterfront: I'll be right back";
string pattern = @"(.*)\[(.*)\](.*)->(.+?):(.*)";
foreach (string result in Regex.Split(input, pattern))
{
fileContents.Add(result.Trim());
}
Run Code Online (Sandbox Code Playgroud)
我得到了7个元素(前后一个空),预期的5个元素.我怎么能纠正这个?
foreach (string result in Regex.Split(input, pattern)
**.Where(result => !string.IsNullOrEmpty(result))**)
{
fileContents.Add(result.Trim());
}
Run Code Online (Sandbox Code Playgroud)
好的,设法用上面的代码解决它.
我可以尝试用PHP做这个,但我认为它可以在mySQL中完成.我在mySQL中有行,日期时间超过几个小时.我想在这几个小时内返回每分钟间隔的计数.
GROUP BY MINUTE(date)
给了我60行,但它不会给我01:00:00 - 01:01:00的计数与02:00:00和02:00:01不同.
如何才能做到这一点?
def f(x):
return x % 2 != 0 and x % 3 != 0
Run Code Online (Sandbox Code Playgroud)
刚学习语言,我认为%是字符串格式化?
在官方教程中找到:http: //docs.python.org/release/2.6.1/tutorial/datastructures.html
这个按键事件对我来说在Chrome和Firefox中运行良好,但在IE7中根本没有被提取:
$(window).keypress(function(e) {
alert('hello world');
});
Run Code Online (Sandbox Code Playgroud)
有谁知道IE7的替代品?
或者它是我的JavaScript中更高的错误,这意味着它没有在IE7中被选中 - 在这种情况下,我该如何调试它?我在IE中打开了脚本错误,但没有出现任何问题.
我用这段代码得到了意想不到的结果:
'foo'.match(new RegExp('\bfoo\b')); // Returns null
Run Code Online (Sandbox Code Playgroud)
null当这个返回"foo"时,为什么会返回?
'foo'.match(new RegExp('foo')); // Returns "foo"
Run Code Online (Sandbox Code Playgroud)
单词边界标记是否也与开头和结尾相匹配?
编辑:我需要正则表达式本身是一个字符串因为我注入变量.
ASP.NET
当TextBox1.Enabled = false;它在FF3中具有灰色背景时,但在IE8或Chrome中没有变化.所以很难判断它是否被禁用.是否有更一般的方法可以使禁用文本框在顶层呈现更加一致?所以我不需要为每个页面或每个网站更改此内容?请指教,谢谢.