随着.net 4 中的Tuple类的增加,我一直试图决定在我的设计中使用它们是否是一个糟糕的选择.我看到它的方式,一个元组可以是编写结果类的快捷方式(我相信还有其他用途).
所以这:
public class ResultType
{
public string StringValue { get; set; }
public int IntValue { get; set; }
}
public ResultType GetAClassedValue()
{
//..Do Some Stuff
ResultType result = new ResultType { StringValue = "A String", IntValue = 2 };
return result;
}
Run Code Online (Sandbox Code Playgroud)
相当于:
public Tuple<string, int> GetATupledValue()
{
//...Do Some stuff
Tuple<string, int> result = new Tuple<string, int>("A String", 2);
return result;
}
Run Code Online (Sandbox Code Playgroud)
因此,抛开我错过了元组点的可能性,是一个Tuple设计选择不好的例子吗?对我来说,它似乎不那么混乱,但不像自我记录和干净.这意味着对于类型ResultType,后面很清楚类的每个部分意味着什么,但你有额外的代码来维护.随着Tuple<string, int>您将需要查找并弄清每一个 …
我倾向于将Hibernate与Spring框架结合使用,并使用声明式事务划分功能(例如@Transactional).
众所周知,hibernate试图尽可能地非侵入性和透明性,但是这在使用关系时证明更具挑战性lazy-loaded.
我看到了许多具有不同透明度的设计方案.
fetchType=FetchType.EAGER)
Hibernate.initialize(proxyObj);
initialize,但是其他实现并不能保证提供任何等价物.Model对象本身(使用动态代理或@Transactional)
loadData()和loadDataWithDeps()
loadDataWithA(),....,loadDataWithX()byId()操作
findZzzById(zid)然后getYyyIds(zid)而不是z.getY()loadData(id, fetchProfile);
我错过了任何选择吗?
在尝试最小化lazy-loaded应用程序设计中关系的影响时,哪种方法是您首选的方法?
(哦,对不起WoT)
可能重复:
忘记密码:实现忘记密码功能的最佳方法是什么?
我正在编写一个社区网站.
我想构建一个"忘记密码"功能.
环顾不同的网站,我发现他们使用以下三个选项之一:
向用户发送一封电子邮件,其中包含指向唯一隐藏网址的链接,该网址允许他更改密码(Gmail和亚马逊)
向用户发送一封包含新的随机生成密码的电子邮件(Wordpress)
向用户发送他当前的密码(www.teach12.com)
选项#3似乎对用户来说最方便,但由于我将密码保存为MD5哈希,我不知道选项#3是如何可用的,因为MD5是不可逆的.这似乎也是一种不安全的选择,因为它意味着网站必须在某处以明文形式保存密码,并且至少明文密码是通过不安全的电子邮件发送给用户的.或者我在这里遗漏了什么?
因此,如果我不能做选项#1,选项#2似乎是最简单的编程,因为我只需要更改用户的密码并将其发送给他.虽然这有点不安全,因为您必须通过不安全的电子邮件传递实时密码.然而,这也可能被麻烦制造者误用,通过输入随机电子邮件和不断更改各种用户的密码来纠缠用户.
选项#1似乎是最安全的,但需要一些额外的编程来处理过期的隐藏URL等,但它似乎是大型网站使用的.
你有什么经验使用/编程这些不同的选项?有没有我错过的选择?
在设计Java应用程序[J2EE应用程序的简单控制台应用程序]时,要记住哪些一般准则和最佳实践?
你好
我最近完成了Sun的Java编程教程并练习了核心java(我之前有编程经验).现在我理解了继承,抽象,多态,封装的基础知识
现在我正在编写Java代码没有太大困难,但我不确定应用程序设计.这是我的主要问题:"设计"应用程序.假设我已经完成了用Java创建应用程序的任务,我该怎么做?怎么想?在开发类层次结构时我应遵循的任何正式/非正式指南?我真的很困惑(抽象类或接口或子类......?).在编写代码之前,我应该从模型开始吗?
对于像我这样的人来说,拥有一套通用指南/最佳实践非常有用,我们可以在开始开发新的Java应用程序时遵循这些指南.
请提供一些我应该阅读或使用的指南/想法/书籍/资源/工具
在此先感谢斯科特
我从头开始创建一个新的Java Web应用程序.
我对Spring Framework没有太多经验,但我知道我想使用它的一些功能,比如Transaccions Management.
另一方面,我非常喜欢Guice的依赖注入.
我知道Guice和Spring可以一起工作:http://www.jroller.com/mindcrime/entry/an_example_of_integrating_guice
但在开始设计我的应用程序之前,我想知道是否有人通过遵循该方法遇到了问题.
另外,我真正喜欢Guice的是你不需要XML配置文件,而只需要java模块,它更短,更容易阅读.Spring上有没有XML配置文件的替代品,类似于Guice?
我刚刚开始使用TDD,并且很好奇其他人采取什么方法来运行他们的测试.作为参考,我使用谷歌测试框架,但我相信这个问题适用于大多数其他测试框架和C/C++以外的语言.
到目前为止,我的一般方法是做三件事之一:
将大部分应用程序写入静态库,然后创建两个可执行文件.一个可执行文件是应用程序本身,而另一个是具有所有测试的测试运行器.两者都链接到静态库.
将测试代码直接嵌入到应用程序本身中,并使用编译器标志启用或禁用测试代码.这可能是我迄今为止使用过的最好的方法,但是稍微混乱了代码.
将测试代码直接嵌入到应用程序本身中,并且在给定某些命令行开关的情况下,运行应用程序本身或运行应用程序中嵌入的测试.
这些解决方案都不是特别优雅 ......
你是怎么做到的?
这是一个设计/最佳实践问题..
我是Android开发的新手,基本上是Web /移动解决方案的新手.
所以,我的问题是 - 在组织从远程服务器获取数据的android应用程序结构时,最佳做法是什么?
应该请求服务器进入一个与服务器进行通信的类(获取和发布请求),还是应该将我的请求看作数据源,这意味着每个数据类都为自己管理它?
或者我应该有更多抽象级别 - 一个级别用于获取数据,另一个级别用于使用某些接口但不知道源数据来自哪个?
我很好奇Android开发人员如何处理这些设计问题......
android design-patterns data-access-layer remote-access application-design
在一个完整的Java EE应用程序中,群集是DTO模式仍然是一个有效的选项?有问题的应用程序使用EJB Hibernate和Struts with Spring等.在这种情况下传输域对象有什么问题吗?
编辑:只是为了澄清我的问题,现代资源和Java EE的改进有没有理由不使用域对象?如果没有,那么DTO模式是否会逐渐消失,不应该在新的应用程序中使用?
我一直在学习模型 - 视图 - 控制器范例("MVC"),但我很困惑,因为一些教程与其他教程相矛盾.
我目前对这个过程的理解看起来像这样:
这是从某些存储源(如数据库或XML文件)收集原始数据的位置.该模型用作抽象层,将Controller对特定数据的请求转换为(例如)SQL查询,并将查询结果转换为标准格式(如数据对象).
例如,在上面描述的/ browse/all场景中:
这是该应用程序的真正主力.除了在模型和视图中来回传递消息之外,Controller还负责授权等事务和应用程序/"业务"逻辑编辑:每个答案,业务逻辑属于模型.
在正在进行的示例中,Controller将负责:
例如
<html>
<head>
<title>
<?php $question->getTitle() ?>
</title>
</head> …Run Code Online (Sandbox Code Playgroud) 用户的帐户余额是应该存储在数据库中还是动态计算?
为了获得准确的结果,计算它是动态有意义的,但是当有很多用户并且数据库变得非常大时,它可能是一个问题?
交易
账户余额