design专题提供design的最新资讯内容,帮你更好的了解design。
在网络编程中,您需要具有多个层次深度的状态机. State Machine 1 State Machine 2 State Machine 3 State Machine 4 这里状态机1包含两个状态机2和3. 3还包含机器4. 根据外部机器的状态,消息应该通过内部状态机.此外,如果内部状态机存在某些错误,则应将反馈给予上位机. 有一个很好的方法来做到这一
在我参与的许多项目中,我们经常会有很多类将内容从一个域模型映射到另一个域模型.例如,从WSDL生成的模型到项目特定的模型. 例如 public class FooBarContentMapper { public static Foo fromWsToDomain(FooType fooType) { ... } } 这也可以是一个非静态方法,服务层可以有一个映射器
我正在设计一个简单的CRUD REST API.这是我的第一次,所以我想得到一些关于我的设计是否有意义的反馈. 我正在使用HTTP方法:GET,POST,DELETE和UPDATE. API将以JSON格式使用和获取数据.示例网址将如下所示: GET (list): curl http://<domain>/myapp/rest/v1/colors POST: curl -XPOST http:/
我无法理解为什么 java安全编码很重要.例如,为什么将变量声明为私有很重要?我的意思是我得到它将无法从类外部访问这些变量,但我可以简单地反编译该类以获取值. 类似地,将类定义为final将使得无法对此类进行子类化.什么时候继承类是危险的安全?如果有必要,我可以再次反编译原始类,并用我想要的任何恶意代码重新实现它. 当应用程序被用户“信任”时问题会出现吗?那么人们可能会以某种方式滥用这种信任? 基
我5年或6年前作为初级 Java开发人员开始在我的公司工作,我开始使用Servlets和Jsp进行一些J2EE编程.我没有花太多时间在那个位置,我去了数据库工作,所以我远离软件开发世界.现在我不得不回到Java编程,我得到了一个Web应用程序来开发和维护. 当我打开这个项目时,我什么都不懂.该应用程序是使用许多高级框架构建的,如Spring,Hibernate,Wicket,Axis for We
我在“辅助对象”中包含“主要对象”(具有大多数功能),这将提供方便的方法.我只有一个接口可用,除了返回的对象与工厂方法的接口.我在想一个“扩展”这个对象的好方法是组合,但是我的超类必须实现主对象接口的问题,这将是大约600行的存根代码. 显然,一个简单但冗长的解决方案是填写所有存根,以便它们只调用主对象的方法.在Java中有比这更好的方法吗?在我熟悉的其他语言中,有一些方法可以为辅助对象中未实现的
我正在阅读Effective Java并阅读静态工厂方法来创建对象.其第2章,第1项.有优势没有. 3,作者提到了喜欢 Hiding implementation classes in this fashion can lead to a very compact API. This technique lends itself to interface-based frameworks, whe
我正在创建一个小行星克隆,但还有一些铃声和口哨声. 截至目前,我有一个ArrayList< Asteroid>在屏幕上保存所有小行星.每个都有一个与之关联的Vector,并扩展了我的genereic GameObject类,它处理绘图和更新以及每个游戏对象共有的其他常见事物. 据说,每当我摧毁一颗小行星时,我都会创建一个新的Asteroid对象并将其添加到ArrayList< Asteroid>
好的,我理解equals和hashcode的工作原理以及它们在hashmap中的使用方式. 但是这个问题在我脑海中浮现,如果我有一个没有覆盖哈希码和等号的第三方对象,我甚至不允许修改它. 考虑以下课程: //Unmodifiable class public final class WannaBeKey{ private String id; private String ke
我听podcast java posse,在这里经常有关于组件的讨论(注意组件不是(清楚)对象).他们感到遗憾的是, Java没有组件,与.NET相反.组件显然使开发应用程序(而不仅仅是GUI应用程序)更容易. 我可以从讨论中了解到一个组件具有的某些特性,它与去耦有关(与一个组件替代另一个组件只是一个管道问题).它与物业有任何关系,它绝对与事件和代表有关. 所以问题: 任何人都可以向我解释什么是组
我正在处理我正在为一个项目写的DAO库的回报的问题.这个图书馆可能会被另一个人使用,我想要正确地做.我应该如何处理我的DAO函数的返回语句? 实施例1 我有函数getCustomer应该返回String.如果一个查询不返回任何结果应该返回null,一个空字符串或者抛出某种异常? 实施例2 我有一个函数getCutomerList,它返回一个类型为ArrayList< String>的值.如果一个查
我目前正在创建一个 Android应用程序,其中有人可以输入他们的名字,按一个按钮,然后只是输出他们的名字. 我想要实现的一个效果是这样的效果,在他们按下按钮之后,输入和按钮将消失(到目前为止完成这一点),然后MainActivity的视图的背景颜色将会产生波纹(从中心),新颜色,最终改变了完整的背景颜色. 我如何以编程方式进行此操作,因为我只能在按下时找到关于在按钮上添加波纹的教程? 编辑: 我
已经有几次我遇到了一个需要生产 XML(比较小的)的任务.每次我徘徊: 关于易于编码,可读性和可维护性的代码,性能和良好的设计实践,动态创建XML文档的最佳做法是什么? 例如: 连接字符串是否更好?或者创建一个DOM树并进行填充? >(“程序上”)是否更好地卷起构建XML的线,或者有很多方法处理其文档的部分? >最好是通过工具(哪个?)或每次从头开始生成XML的骨干网? 我会欣赏,如果你可以分享一
我通常设法将我的课程设计为不可变类,所以我在编程压力方面有很多优点. 但是与Spring一起工作时,我有时会注意到,在大多数情况下,框架不鼓励这种设计,赞成经典的JavaBeans设计:默认的构造函数getter / setter. 我真的不喜欢JavaBean设计的对象,因为他们的疯狂的可变性. 所以我想知道我是否缺少一些东西 我尽量让我的课堂设计尽可能优雅和可重复使用,但框架需要改变这个设计或
如果一个对象中有几个可变属性将由多个线程执行,我明白它们应该被同步. class Doggie { private String name; private int age; public void setName(String name) { this.name = name; } public String getName() { return this
我已经阅读了一些设计书,不可改变的类提高了可扩展性,并且尽可能地编写了不可变的类.但是我认为这种不变的类增加对象的扩散.那么进行不可变类还是更好的去静态类(A类,所有方法都是静态的),以提高可扩展性? 不变类可以促进对象增殖,但是如果你想要安全,可变对象将会增加更多的对象扩散,因为你必须返回副本而不是原始的,以防止用户改变你返回的对象. 对于使用所有静态方法的类,在大多数可以使用不可变性的情况下,
我刚刚学到了Bridge Pattern及其意图:从实现中去掉一个抽象,使两者可以独立变化. 但是为什么一个AbstractFactory不能做同样的事情呢? 我知道一个AbstractFactory可以创建一个特定的桥,但是我的问题涉及使用AbstractFactory而不是Bridge来解耦抽象和实现. 可以请你解释一下AbstractFactory和Bridge Pattern之间的真正区别
想象一下,我在 Java中生成了XML生成的实体,它包含了我需要的一些数据. 例如: <Car> <Engine> <Power> 175 </Power> </Engine> </Car> 因此,如果我需要一个引擎电源,那么接下来是商业软件开发的最佳实践,我将做下一件事: Car car = dao.getCar() Power power
虽然我喜欢来自多核系统设计的智力挑战,我意识到,大多数只是不必要的过早优化. 但另一方面,通常所有系统都有一些性能需求,并将其重构为多线程安全操作,难度甚至仅在经济上是不可能的,因为它将是使用另一种算法的完全重写. 在优化和完成任务之间保持平衡的方法是什么? 我相信线程也服从优化规律. 也就是说,不要浪费你的时间,使快速操作平行. 相反,将线程应用于需要很长时间才能执行的任务. 当然,如果系统开始
我开始考虑在断开的应用程序中跟踪复杂对象图中的变化.我已经找到了几个解决方案,但是我想知道是否有最佳实践或者使用什么解决方案,为什么?我把同样的问题交给了 MSDN forum,但是我只收到了一个答案.我想有更多的答案从其他开发人员的经验中学习. 这个问题与.NET有关,所以对于实现细节的答案我更喜欢与.NET世界相关的答案,但我认为在其他平台上是一样的. 我的案例中的理论问题是在多层架构中定义的