我有几个完全经过单元测试和精心制作的富DDD模型类,具有最终的不可变不变量和完整性检查.对象的实例化通过适当的构造函数,静态工厂方法甚至通过构建器来实现.
现在,我必须提供一个Spring MVC表单来创建一些类的新实例.
在我看来(我不是专家)我必须为我要绑定的所有表单的支持类提供空构造函数和属性的setter.
所以我该怎么做 ?
创建专门用于形成支持的贫血对象,并将信息传递给我的域模型(对DRY原则来说太多了......)调用适当的方法/构建器?
或者是否有一些我错过的机会可以挽救我的一天?:)
提前感谢您的智慧!
我想在scala中以函数方式对字符串执行几个有序和连续的replaceAll(...,...).
什么是最优雅的解决方案?Scalaz欢迎!;)
上下文:Typescript 1.5 beta Webstorm 10
我目前正在TS中开发两个独立的项目,一个库和一个将使用该库的项目。
当我在库项目中进行编码时,Webstorm可以完全理解所编写的jsdoc,并且CTRL + Q可以正确显示它。
然后,我编译该库(一个大输出文件),一路生成.d.ts文件,然后尝试在其他项目中使用它:调用CTRL + Q时没有更多可用的文档。
经过调查,我发现生成的javascript中仍然存在JSDOC,但是.d.ts文件中没有JSDOC-因此Webstorm认为没有。
所以我的问题是:如何在.d.ts生成时间指定我希望将jsdoc包含在其中?刚花了几个小时上网绕圈...
--edit:我的tsconfig文件-
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"declaration":true,
"noLib": false,
"out": "./dist/myLib.es5.js",
"sourceMap": true
}
}
Run Code Online (Sandbox Code Playgroud)
==编辑最后==
好的,文档最终出现在.d.ts中...一个编译器错误,或者一个主席键盘错误...
因此,当“ removeComments”设置为false时,它显然应该工作!
我必须发布带有嵌入式JRE的swing应用程序.带有application + JRE + .bat/.sh的压缩存档为Windows和Linux提供了技巧.用户下载zip,解压缩并启动应用程序.完善.
但是现在,我必须为Mac OS X提供相同的功能.我已经阅读/被告知有很多不同的事情(禁止在Mac上发布JRE,相反,Mac上总是有JRE等. ..),所以我真的很困惑我可以做什么.
有没有人做过这样的事情?你是如何解决Mac应用程序部署的?作为奖励,在Mac上分发我的应用程序的最佳格式是什么(zip?)?
我目前正在使用Karma + Jasmine在基于TypeScript的项目上运行测试,并且当TypeScript编译在因果观察模式下失败时,我想“破坏测试”。
我正在使用标准Karma配置,并使用webpack预处理器(用于编译TS文件)来编译TS。一切工作都很好,除了在发生编译错误时看到所有测试都通过是极具误导性的(即使webpack编译失败,业力也会重新运行以前的测试)。
看起来似乎很琐碎,但是在查看文档并搜索Google一两个小时之后,我拼命地寻找一种解决方案,但我没有找到。
是否存在涉及业力,茉莉花,webpack和TypeScript的解决方案,这些解决方案可以在发生编译错误时中断测试而不会破坏监视模式?
编辑:添加了对手表模式的精度。
我一直在努力解决这个令人讨厌的问题一段时间而没有找到一个优雅的解决方案.
假设我有这样一个类层次结构:
class StatWithBounds[A](val min: A, val max: A, val currentValue: A)
class StatBetween0And20(initialValue: Int) extends StatWithBounds[Int](0, 20, initialValue)
class PositiveStatOnly(initialValue: Int) extends StatWithBounds[Int](0, Integer.MAX_VALUE, initialValue)
class UncappedPercentage(initialValue: Int) extends StatWithBounds[Int](0, Integer.MAX_VALUE, initialValue)
Run Code Online (Sandbox Code Playgroud)
复制/粘贴initialValue过于冗长.此外,如果我想做这样的事情:
class Strength(initialValue: Int) extends StatBetween0And20(initialValue)
class Intelligence(initialValue: Int) extends StatBetween0And20(initialValue)
class Piety(initialValue: Int) extends StatBetween0And20(initialValue)
Run Code Online (Sandbox Code Playgroud)
多么复制/粘贴(想象我还有10个子类)!
有没有一种优雅的方法来解决这个混乱的问题?
我正在使用程序集插件将我的swing应用程序与artifactId killer-app打包并使用自定义程序集描述符.
程序集工作正常,我可以/killer-app/在程序集内的目录中包含我想要的任何内容.
killer-app-archive.zip
\- killer-app
\- whatever ...
Run Code Online (Sandbox Code Playgroud)
问题是我必须/killer-app/在存档内的文件夹的同一级别包含另一个文件.
killer-app-archive.zip
\- killer-app
| \- whatever ...
\- launch.bat
Run Code Online (Sandbox Code Playgroud)
我一直试着玩
<includeBaseDirectory>假</ includeBaseDirectory>
但这只是删除/killer-app/我必须保留的文件夹.
scala ×2
typescript ×2
boilerplate ×1
compilation ×1
constructor ×1
immutability ×1
inheritance ×1
jasmine ×1
java ×1
javascript ×1
karma-runner ×1
macos ×1
maven ×1
scalaz ×1
spring ×1
spring-mvc ×1
swing ×1
webpack ×1
webstorm ×1