Tag: 架构

将所有代码放在C ++头文件中的优点和缺点?

您可以构造一个C ++程序,以便(几乎)所有的代码都驻留在头文件中。 它本质上看起来像一个C#或Java程序。 但是,编译时,至less需要一个.cpp文件来引入所有头文件。 现在我知道有些人会绝对厌恶这个想法。 但我还没有发现这样做的任何令人信服的缺点。 我可以列举一些优点: [1]更快的编译时间。 所有的头文件只被parsing一次,因为只有一个.cpp文件。 此外,一个头文件不能被包含超过一次,否则你将得到一个生成中断。 当使用替代方法时,还有其他方法可以实现更快的编译,但是这非常简单。 [2]它通过使它们绝对清楚,避免循环依赖。 如果ClassA.h中的ClassA对ClassA.h中的ClassB具有循环依赖关系,那么我必须提供一个前向引用。 (请注意,这不像C#和Java,编译器自动解决循环依赖,这鼓励了错误的编码实践IMO)。 同样,如果你的代码是在.cpp文件中,你可以避免循环依赖,但是在真实世界的项目中, .cpp文件往往会包含随机的头文件,直到找不到谁依赖于谁。 你的想法?

Java EE架构 – 在使用像JPA 2这样的ORM时,DAO仍然是推荐的吗?

如果我使用的是像JPA2那样的ORM – 我的实体映射到了我的数据库,那么我还应该使用DAO吗? 这似乎是更多的开销。 例如,我需要维护三个额外的软件包: 一个指定我的域对象(这几乎映射我的实体对象): public class Employee { private String firstName; private String lastName; … // Getters and setters } 一个包含指定我的DAO方法的接口 public interface EmployeeDAO { public void addEmployee(Employee employee); public Employee getEmployeeById(long id); … } 一个包含实现我的DAO的会话bean public EmployeeJpaDAO implements EmployeeDAO { interface method implementations here …. private method that transform my Employee entity […]

如何devise和构buildJava / Java EE Web应用程序?

我是拥有近5年Struts,Spring和Hibernate经验的Java开发人员。 我们有一个新的项目在几天内出现。 我们有完整的需求,我们将使用Spring MVC,Spring和Hibernate来完成这个项目。 我被要求devise和构build整个Web应用程序。 devise和创build一个build筑师是我迄今为止在我职业生涯中还没有做过的事情。 我不知道我该怎么做,从哪里开始,使用什么工具等等。 我甚至不知道A,B,C的devise和build筑。 你可能想知道为什么我甚至要求我在第一时间做这件事。 事情是我有机会做到这一点,在每个阶段我都会受到监控,我会让我的前辈们审查devise。 因此,欢迎任何build议,想法和步骤开始和继续。

如何组织一个Swing GUI应用程序?

我已经写了几个使用Swing的GUI,并且我知道MVC,但是我从来没有find一个很好的方法来真正地组织我的代码。 我正在寻找的就像maven为每个新项目引入的文件夹结构。 另一个例子是rails,其中MVC是通过文件夹结构自动引入的。 Swing有类似的东西吗? 看到一本描述更大Swing应用程序开发的书也不错。 我所find的都是关于devise指南的书籍,其中devise是指应用程序的外观。 其他Swing书(如O'Reilly)详细描述了所有的摇摆组件,但是关于大图的信息在哪里? 有没有什么好的摇摆gui的例子,在那里你会说:“这就是你如何组织代码/文件夹/包的摆动!”? 编辑:我find了下面的网站http://www.ibm.com/developerworks/java/javascript/j-springswing/section7.html ,它描述了在创buildGUI时使用spring。 这是一个相当古老的例子,它不回答我的问题,但是这是一个正确的方向。 它也提到了Spring RCP,但我不确定它是否可以成为解决scheme。 编辑2:我仍然没有find更好的答案。 有没有人知道一个结构完美的Swing GUI是开源的例子? 有人知道一本书,它描述了吗? 如果不是Swing,那么也许对于GUI来说呢?

使用MySQL和Neo4j是一个好主意吗?

我会用很多类似的项目(数百万)做一个应用程序,并且我想将它们存储在一个MySQL数据库中,因为我想要做大量的统计数据并search特定列的特定值。 但是同时,我将把所有项目之间的关系存储起来,这些项目在许多连接的二叉树状结构(传递闭包)中是相关的,而关系数据库不擅长这种结构,所以我想存储Neo4j中对这种数据有良好performance的所有关系。 我的计划是除了MySQL数据库中的关系之外的所有数据以及存储在Neo4j数据库中的与item_id所有关系。 当我想查找一棵树时,我首先在Neo4j中search树中的所有item_id :s,然后在查询中searchMySQL数据库中的所有指定项目,如下所示: SELECT * FROM items WHERE item_id = 45 OR item_id = 345435 OR item_id = 343 OR item_id = 78 OR item_id = 4522 OR item_id = 676 OR item_id = 443 OR item_id = 4255 OR item_id = 4345 这是一个好主意,还是我错了? 我以前没有使用过graphics数据库。 有没有更好的方法来解决我的问题? 在这种情况下MySQL查询将如何执行?

如何devise可扩展的应用程序?

你如何devise/构build一个可扩展的应用程序? 任何有助于了解如何扩大应用程序的书籍或网站build议? 谢谢

你知道build筑师可以selectNDepend吗?

你知道任何类似于NDepend的软件吗? 我刚刚得到它,发现它非常有用。 它帮了我很多,但现在我没有可能购买专业版。 那么,有没有其他的select(也许是开源的)? 最好是免费的。 但不一定。 也许,对于单一开发人员,而不是一个团队,价格更合适。 此软件的要求:构build依赖关系图检索代码度量显示评论覆盖率(到目前为止)

iOS上使用什么devise模式而不是MVC?

我需要了解除MVC以外的iPhone开发中使用的devise模式。 请使用代码片段回答任何示例说明或示例。 谢谢。

推荐的可扩展的AngularJS项目结构?

我看过几个AngularJS项目模板:官方网站的种子项目 , Yeoman的生成项目和AngularFun 。 是否还有其他(非)自以为是的模板,我应该看看,或者你会为可扩展的AngularJS项目build议任何相关模式? 我的意思是可扩展的 能够在自己的文件中分割控制器,指令,filter等; 能够按需加载这些文件,而不是让浏览器加载所有内容; 能够拥有共同的,跨项目的组件(例如通用指令,filter或服务)。

WPF / Silverlight – 棱镜 – 初学者的资源

官方网站 WPF和Silverlight的复合应用指南 模式和做法:复合WPF和Silverlight 用品 棱镜复合Web应用程序 播客 PRISM for Silverlight – Connected Show video广播 SlickThought.Net – Jeff Brand dnrTV 布莱恩Noyes在棱镜 布赖恩Noyes棱镜事件和命令 第9频道 什么是棱镜V2? 何时使用Prism for Silverlight或WPF应用程序播客 Prism v2 – WPF和Silverlight的复合应用指南 1/4 – 创build一个shell和模块 2/4 – 视觉构图 3/4 – 实现视图和服务 4/4 – 解耦通讯 你有没有build议其他资源的棱镜?