design-patterns相关内容

DI 模式是否限制了昂贵的对象创建以及不经常使用的依赖项?

当涉及到典型的构造函数依赖注入时,我很难理解一个明显的模式问题/限制.例如,假设我有一个 ASP.NET MVC3 控制器,如下所示: 公共类 MyController继承控制器私有只读 mServiceA 作为 IServiceA私有只读 mServiceB 作为 IServiceB私有只读 mServiceC 作为 IServiceCPublic Sub New(serviceA As IS ..

没有“switch"语句的策略模式?

我一直在阅读有关策略模式的一些资料,并有一个问题.我在下面实现了一个非常基本的控制台应用程序来解释我的要求. 我已经读到在实施策略模式时使用“switch"语句是一个危险信号.但是,我似乎无法摆脱在此示例中使用 switch 语句的情况.我错过了什么吗?我能够从 Pencil 中删除逻辑,但是我的 Main 现在有一个 switch 语句.我知道我可以轻松创建一个新的 TriangleDra ..

根据用户权限隐藏/禁用 GUI 元素的最佳方法?

我正在启动一个 Web 应用程序,客户端在纯 ExtJS 中实现,中间层在 Grails 中实现.应用程序具有基于角色的授权,其中用户可以拥有许多细粒度的角色,如 SOME_FORM_READ、SOME_FORM_UPDATE、SOME_DATA_DELETE、SOME_DATA_READ 等.根据用户的角色,某些 GUI 元素需要禁用或隐藏,而其他则需要处于只读模式. 我在网上进行了一些搜 ..
发布时间:2021-12-25 18:25:31 其他开发

ExtJS (JavaScript) 模块设计模式最佳实践

我有一个关于模块设计模式最佳实践的问题.下面的代码是我们的一些组件的编写方式的一个例子(我们使用 ExtJs,但这不应该太重要).我们构建了很多这样的组件,我知道这并不完全符合最佳实践.有任何清理代码的想法吗? Ext.ns("TEAM.COMPONENT");函数 Foo() {//私有变量var privateNumber=0, myButton, privateInternalObject ..
发布时间:2021-12-25 18:06:04 前端开发

使用 C# 的设计模式

我计划在工作中学习 C# - 一个中等复杂(2000 行代码)的项目.我有兴趣在此过程中学习“设计模式". 谁能推荐一本不需要太多 C# 专业知识并教授设计模式的书?如果这本书不是专门讨论设计模式的(它可以是其中的一章). 解决方案 Head First Design Patterns 一本好书一>.易于理解和遵循,读起来很有趣. GoF 书籍是一切的起点,但我发现它很干,很 ..
发布时间:2021-12-25 08:24:49 C#/.NET

如何在考虑可扩展性的同时正确地将域实体转换为 DTO可测试性

我已经阅读了几篇将域对象转换为 DTO 的文章和 Stackoverflow 帖子,并在我的代码中进行了尝试.在测试和可扩展性方面,我总是面临一些问题.我知道以下三种将域对象转换为 DTO 的可能解决方案.大部分时间我都在使用 Spring. 方案一:服务层私有方法进行转换 第一个可能的解决方案是在服务层代码中创建一个小的“帮助器"方法,该方法将检索到的数据库对象转换为我的 DTO 对 ..
发布时间:2021-12-24 22:54:46 Java开发

SED 删除两个模式之间的特定行?

我正在尝试使用 sed 过滤 *.ics 文件.*.ics 文件如下所示: [...]开始:事件用户名:0xfoo总结:fooDTSTART:20131212T090000大通:20131212T100000序列:0DTSTAMP:20131212T100000地点:foo类别:富描述:foo类别:公共结束:VEVENT[...] 我想删除开头的行,例如使用 UID 或 SEQUENCE,但前 ..
发布时间:2021-12-24 12:21:33 其他开发

我应该在 Silverlight 项目中使用模型-视图-视图模型 (MVVM) 模式吗?

Silverlight 控件的一个挑战是,当属性绑定到代码时,它们在 Blend 中不再真正可编辑.例如,如果您有一个从数据馈送填充的 ListView,则在 Blend 中编辑该控件时将看不到任何元素. 我听说由 WPF 开发社区发起的 MVVM 模式也有助于保持 Silverlight 控件“可混合".我仍然在思考它,但这里有一些解释: http://www.nikhilk.net ..
发布时间:2021-12-23 23:54:14 其他开发

PHP 中的 ORM 和 Active Record 模式?

现在有两件事似乎很流行,我想知道使用这样的东西的利弊是什么:http://codeigniter.com/user_guide/database/active_record.html ? 另一件事是 ORM(例如 Doctrine).使用这些有什么好处? 解决方案 ActiveRecord 是 ORM 中常见的一种模式.Doctrine 是一个使用 ActiveRecord 风格的 ..
发布时间:2021-12-23 15:03:16 PHP

MVVM-视图模型-视图模型通信

我如何使用 MVVM Light 让两个视图模型相互通信.我知道如何使用信使类和注册等.这是我的场景 A 设置视图 --->设置视图模型...主页视图 --->一个 MainPage ViewModel 如果设置视图中的某些内容发生变化,它将向设置视图模型发送消息.那么我希望设置视图模型与 MainPage 视图模型就更改的内容进行通信.MainPage ViewModel 然后会告诉 Vie ..
发布时间:2021-12-23 13:31:47 其他开发

WPF MVVM:命令很简单.如何使用 RoutedEvent 连接 View 和 ViewModel

假设我有一个在资源字典中实现为 DataTempate 的视图.我有一个相应的 ViewModel.绑定命令很容易.但是,如果我的 View 包含一个控件(例如 ListBox),并且我需要根据列表上正在更改的项目发布一个应用程序范围的事件(使用 Prism 的事件聚合器)怎么办. 如果 ListBox 支持一个命令,我可以将它绑定到 ViewModel 中的一个命令并发布事件.但是列表框不 ..
发布时间:2021-12-23 13:28:57 其他开发

如何使用 MVVM Light for WPF 浏览窗口?

我刚刚开始了一个新项目,其中表示层将由 WPF 完成,MVVM Light 由 GalaSoft 完成.> 我需要很多视图,但我不清楚如何通过窗口管理导航. 首先,MVVM Light 中提供的用于创建新的“WPF MVVM 视图"的模板创建了一个新的 Window,它不能用于按帧导航(我的意思是,通过放置一个mainView 中的框架并更改要导航的源路径). 对于我使用模板创建的所 ..
发布时间:2021-12-23 13:28:38 其他开发

为什么 ViewHolder 模式有效?

我今天学习了 Android 的 ArrayAdapter,发现有一个通用模式,它使用 ViewHolder 来保存视图的引用,而不是每次都调用 findViewById. 但是它是如何工作的呢?Adapter 通常用于显示一个 View(Group) 的列表,如果我缓存了 View,为什么它们不都引用最旧的一个? 解决方案 如果您想获得有关 ViewHolder 如何工作的最佳解释 ..
发布时间:2021-12-22 09:13:58 移动开发

命令模式 - 目的?

阅读本文后:http://sourcemaking.com/design_patterns/command 我还是不太明白我们为什么需要这个. 解决方案 这个想法是,如果命令被封装为对象,那么这些命令可以被捕获、存储、排队、重放等. 它还使命令更容易知道如何撤消自己(即执行相反的操作),这样如果一个命令被处理,它就可以存储在一个列表中,然后以相反的顺序“撤消"以恢复命令执行前的 ..
发布时间:2021-12-22 09:13:51 C#/.NET

在 C# 中创建动态变量名

我正在尝试用 C# 编写一个简单的角色扮演游戏,以更加熟悉该语言. 我有一个从 CSV 文件加载数据的类,创建一个对象,并将其放入字典中.因为游戏的每个方面都有不同的数据(物品、演员、技能等),所以我将每个方面都设置为一个类,但这需要我为每个方面重新实现一个 Load() 方法.这样做了 5 到 6 次之后,我想知道是否有更好的方法来实现这一点. 基本上,我想要做的是解析包含标题的 C ..
发布时间:2021-12-22 09:13:42 C#/.NET