草庐IT

factory-pattern

全部标签

linux - 核心转储文件名使用 core_pattern %e.%p.core 获取线程名称而不是可执行文件名称

我最近开始使用pthread_setname_np()在我的应用程序中设置一些线程名称。执行此操作后,如果在其中一个命名线程中发生崩溃,则核心转储文件名将获取线程名称而不是具有core_pattern%e.%p.core的可执行文件名称根据coremanpage,core_pattern中的%e标志应该扩展为可执行文件名称。它没有说明线程名称。我想要可执行文件名称而不是线程名称,因为我有其他自动化脚本(不是我维护的)依赖于以应用程序名称开头的核心文件名。这是pthread_setname_np()或core_pattern中的错误吗?我在LinuxCentOS6.7上运行。

mongodb - DDD 和 MongoDB : Is it okay to let Mongo create ObjectIDs?

根据DDD(蓝皮书,Evans),工厂有责任创建处于有效状态的聚合根。这是否意味着它应该能够创建技术id(mongoDB世界中的objectId)以及域id?一方面,这似乎是一个技术细节,让Mongo处理ID的创建似乎没问题。另一方面,启用按id查询(通过在DDD存储库中使用getById)会将技术id公开给域,这反过来又会使工厂负责创建它。也许我无法理解技术ID与DomainId的不同用例/重叠等问题,或者我过于热心,但无论如何我还是很感激你的意见。简而言之:在DDD中:工厂是否应该能够创建技术ID以及域ID?可能的实现:Hi/Lo(Howtosetthehilosequencest

mongodb - DDD 和 MongoDB : Is it okay to let Mongo create ObjectIDs?

根据DDD(蓝皮书,Evans),工厂有责任创建处于有效状态的聚合根。这是否意味着它应该能够创建技术id(mongoDB世界中的objectId)以及域id?一方面,这似乎是一个技术细节,让Mongo处理ID的创建似乎没问题。另一方面,启用按id查询(通过在DDD存储库中使用getById)会将技术id公开给域,这反过来又会使工厂负责创建它。也许我无法理解技术ID与DomainId的不同用例/重叠等问题,或者我过于热心,但无论如何我还是很感激你的意见。简而言之:在DDD中:工厂是否应该能够创建技术ID以及域ID?可能的实现:Hi/Lo(Howtosetthehilosequencest

php - 拉维尔 5.2 : Unable to locate factory with name [default]

我想播种数据库当我使用这个publicfunctionrun(){$users=factory(app\User::class,3)->create();}在数据库中添加三个用户,但是当我使用这个时publicfunctionrun(){$Comment=factory(app\Comment::class,3)->create();}显示错误[InvalidArgumentException]Unabletolocatefactorywithname[default][app\Comment]. 最佳答案 有时可能是由于导入了错误

java - c3p0 getConnection() 抛出异常 : A ResourcePool could not acquire a resource from its primary factory or source

我们的项目有一个[Hibernate+c3p0+MySQL]配置。我们遇到了以下异常:com.mchange.v2.resourcepool.CannotAcquireResourceException:AResourcePoolcouldnotacquirearesourcefromitsprimaryfactoryorsource.atcom.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1319)~[c3p0-0.9.1.2.jar:0.9.1.2]atcom.mch

java - setURLStreamHandlerFactory 和 "java.lang.Error: Factory already set"

我遇到了一个意外错误,原因是在正在更新的Android应用程序中调用URL.setURLStreamHandlerFactory(factory);。publicclassApplicationRootextendsApplication{static{/*AddapplicationsupportforcustomURIprotocols.*/finalURLStreamHandlerFactoryfactory=newURLStreamHandlerFactory(){@OverridepublicURLStreamHandlercreateURLStreamHandler(fin

Android:SkImageDecoder::Factory 返回 null

我正在使用我的本地主机来获取图像并在ImageView中查看。出于某种原因,我收到了Factory返回的null错误。我已经多次查看代码,但我看不出有什么问题。任何帮助将不胜感激!GalleryZoom.javapublicclassZoomextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(

c# - 既然 .NET 有一个垃圾收集器,为什么我们需要终结器/析构器/dispose-pattern?

如果我理解正确,.net运行时将始终在我之后清理。因此,如果我创建新对象并停止在代码中引用它们,运行时将清理这些对象并释放它们占用的内存。既然是这种情况,为什么有些对象需要有析构函数或处置方法呢?当它们不再被引用时,运行时不会在它们之后清理吗? 最佳答案 需要终结器来保证将稀缺资源释放回系统,如文件句柄、套接字、内核对象等。由于终结器总是在对象生命周期结束时运行,因此它是释放这些句柄的指定位置。Dispose模式用于提供资源的确定性销毁。由于.net运行时垃圾收集器是非确定性的(这意味着您永远无法确定运行时何时会收集旧对象并调用它们

抽象工厂模式(Abstract Factory Pattern)

回顾工厂方法设计模式的不足:具体产品增加时,系统中类的个数将成对增加,在一定程度上增加了系统的复杂度模式动机产品等级结构:产品等级结构即产品的继承结构,即抽象产品与具体产品产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品模式定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。模式结构模式优点隔离了具体类的生成,使得客户端并不需要知道什么被创建当一个产品族中的多个对象被设计成一起工作时,它能够保证客户端始终只使用同一个产品族中的对象增加新的产品族很方便,无须修改已有系统,符合开闭原则模式

design-patterns - 将公共(public)变量传递到 Node.js 中的单独模块的最佳方法是什么?

我使用单独的路由器文件作为主应用程序和身份验证应用程序的模块。我无法获得将变量(数据库客户端)传递到路由器的最佳方法。我不想硬编码或传递它:module.exports=function(app,db){也许使用单例寄存器或使用全局db变量是最好的方法?您对设计模式有何经验?哪种方式最好,为什么? 最佳答案 我发现使用依赖注入(inject)来传递东西是最好的风格。它确实看起来像你有的东西://App.jsmodule.exports=functionApp(){};//Database.jsmodule.exports=funct