首页 文章
  • 3 votes
     answers
     views

    洋葱架构我们应该将域模型注入表示层吗?

    我正在尝试为ASP.Net MVC 5项目实现Onion架构 . 我已经看到了服务应该被注入而不是实例化的意见,即使纠正我,如果我错了,Jeffery Palermo(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)表达的想法是任何外层应该能够直接调用任何内层 . 所以我的问题是 洋葱建筑能否在没有IOC的情况下工作,...
  • 22 votes
     answers
     views

    洋葱建筑

    我正在为即将到来的内部应用程序设置一个项目结构,该应用程序试验了Palermo提出的Onion Architecture(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/) . 我遵循他的指导方针,但到目前为止我需要对项目结构进行一些验证 . 在图表之前,问题: 我认为参考文献都是正确的(根据图表设置箭头表示'引用'),...
  • 0 votes
     answers
     views

    在java中将类方法重构为接口

    在报告模块中,有一个我想要重构的电子邮件服务,因此我可以将其用作通用电子邮件服务 . 实际上,我需要在用户重置密码时向用户发送电子邮件,这是重构的主要原因 . public class EmailService{ public Email buildEmail(ReportRequest reportRequest){ //build email using ReportRequ...
  • 2 votes
     answers
     views

    为什么Spring单例范围的bean比经典的Singleton模式更好?

    我确实理解Spring单例范围的bean(它们对每个Spring上下文都有一个实例)和Singleton模式(它们有一个类加载器的实例)之间的区别 . 我注意到,对于许多人来说,Singleton模式被认为是邪恶的(因为它们就像全局引用),而没有人似乎有任何针对单例范围的bean(它们也是全局可用的) . 为什么是这样? 我有一个(桌面)应用程序,我需要全局访问某些对象,因为将引用传递给几十个类和...
  • 5 votes
     answers
     views

    Symfony2中的设计模式:EventDispatcher是Mediator或Event Aggregator吗?

    从Symfony2的EventDispatcher组件文档: Symfony2 EventDispatcher组件以简单有效的方式实现Mediator模式,使所有这些事情成为可能,并使您的项目真正可扩展 . 我一直在阅读Event Aggregator和Mediator模式及其differences . 对我而言,事件聚合器看起来像是Mediator的一个特例,它使用事件来促进沟通,并且内部没...
  • 0 votes
     answers
     views

    Python 3:在需要向用户公开两个经典asyncio接口时,在项目中重用代码的最佳方法

    该项目是Python 3库(包),实现自定义流二进制协议 . 想想一对流处理类: MyEncodingWriter(dst_stream) - 将Python对象转换为原始字节流 MyDecodingReader(src_stream) - 将原始编码字节转换为消息或Python对象 我需要支持阻塞同步流和 asyncio StreamReader + StreamWriter ,(可能是...
  • 2 votes
     answers
     views

    单例同步C.

    如果我必须在C中编写单例类,我将使用静态变量,私有构造函数和返回类对象的公共静态函数 . 但是在多线程环境中,代码会出现问题 . 为了避免多个线程同时访问同一个变量,Boost线程是用于同步的最佳机制吗?我的意思是在资源上设置/取消设置锁/互斥锁 . 在C标准库中还有其他内置的东西,我不需要下载boost,构建东西等吗?我听说过C Ox,但不太了解 .
  • 10 votes
     answers
     views

    C和cython - 寻求避免模板限制的设计模式

    Cython中的一个主要问题是缺少python文件中的模板支持 . 我有一个用C编写的模拟系统,我用Cython包装各个类并使用python运行它们 . 当模板化ac方法时,无法从python中将模板类发送到包装器方法 - 相反,我最终向Cython发送字符串,然后必须根据已知值检查字符串,手动将C类传递给基础C方法 . 这是绝对有意义的,因为Cython确实需要知道可能的模板参数以便编译C,但它...
  • 2 votes
     answers
     views

    服务定位器模式 - 如何处理同一服务接口的多个实现

    我对 Service Locator 设计模式有点困惑。 关于这种模式似乎是一个非常非常基本的问题,但我无法弄明白:如果我有多个类实现一些 IServiceX 接口怎么办?定位器如何解析我正在寻找的实例? 例如,我可以注册: ServiceA 实现 IServiceX ServiceB 实现 IServiceX 这似乎完全可能,但我不确定。假设我有两种消息传递服务(相同的服务接口),我想在 run...
  • 2 votes
     answers
     views

    在MVC模式中,Model可以交互/修改View吗?

    在维基百科上以这种方式描述MVC模式组件交互: 该模型负责管理应用程序的数据 . 它从控制器接收用户输入 . 视图意味着以特定格式呈现模型 . 控制器响应用户输入并对数据模型对象执行交互 . 控制器接收输入,可选地验证它,然后将输入传递给模型 . 我知道View不应该与Model交互 . 但是在我在网上找到的大多数图表中,MVC表示如下: 我们可以看到Model does 与View交互并且...
  • 352 votes
     answers
     views

    如何研究设计模式? [关闭]

    我已经阅读了大约4-5本有关设计模式的书籍,但我仍然认为我没有接近设计模式的中级水平? 我该如何去研究设计模式? 有没有关于设计模式的好书? 我知道这只会有经验,但必须有一些方法来掌握这些?
  • 506 votes
     answers
     views

    Builder Design模式和Factory Design模式有什么区别?

    Builder设计模式和Factory设计模式有什么区别? 哪一个更有利,为什么? 如果我想测试和比较/对比这些模式,我如何将我的发现表示为图表?
  • 342 votes
     answers
     views

    设计模式基于Web的应用程序[关闭]

    我正在设计一个简单的基于Web的应用程序 . 我是这个基于Web的域的新手 . 我需要您对设计模式的建议,例如如何在Servlet中分配责任,制作新Servlet的标准等 . 实际上,我的主页上有很少的实体,并且每个实体对应于我们的添加,编辑和删除等几个选项 . 之前我每个选项使用一个Servlet,如Servlet1,用于添加entity1,Servlet2用于编辑entity1等等,这样我们最...
  • 5 votes
     answers
     views

    声明的循环依赖关系

    我正在尝试实现访问者模式的示例,但是我对类的声明的循环依赖有困难 . 在进行上课访客的申报的时候,俄罗斯和英格兰的 class 不知道访问者有方法访问,但是在接受方法接受的访问者的申报的时候,需要使用英国和俄罗斯的 class ,但是他们需要知道谁访问者是,因为他们在他们的代码中使用此类型 . 我尝试了许多订购代码的变体,但我完全失败了 . 请帮助我理解C需要得到什么 . 谢谢 . #includ...
  • 1 votes
     answers
     views

    港口线性游戏到Unity [关闭]

    我正在编写桌面游戏“Get Bit!” . 首先我创建了一个控制台版本,现在我正在尝试将它移植到Unity . 我的问题: 在控制台中,整个游戏都是线性的 . 因此,PlayCards()向玩家询问他想要播放的牌,然后等待用户输入其值 . 在团结中,我试图通过按钮获取输入,但这不等待用户输入和与MoveSwimmer()等对比 . 我试图通过while(inupt == -1)得到值,但这冻结了整...
  • 2 votes
     answers
     views

    GoF的Lexi Editor应用程序的功能实现(例如在Haskell中)[关闭]

    我试图理解如何使用函数式编程来实现通常使用OO /命令式方法实现的应用程序 . 一个重要的应用程序类别是编辑器(Word,Evernote,PowerPoint,Photoshop等) . 让's consider GoF' s Lexi编辑器应用程序作为代表性和众所周知的示例,其面向对象/命令式解决方案已在GoF书中详细描述 . 如何在Haskell中编写GoF的Lexi应用程序的等价物? 这有...
  • 1 votes
     answers
     views

    具有许多派生元素的集合管理[暂停]

    几天前我被告知使用 is 是代码气味和反模式 . 我在游戏中使用它来过滤集合中的一些元素(播放器的库存) . Classes structure 集合元素的基类是 Item : public abstract class Item { public int Id { get; set; } public string Name { get; set; } public s...
  • 2 votes
     answers
     views

    设计代码数据库应用程序的更新机制

    我有一个基于python的应用程序,它包含大量模块并与两个数据库交互: 元数据(需要在某些情况下更新) 客户端数据此应用程序可以在没有Internet访问的环境中手动部署 . What are the best practices and things to consider when implementing update mechanism for this kind of sys...
  • 1 votes
     answers
     views

    为什么mvvm不是mvmv或vvmm

    为什么MVVM代表模型 - 视图 - 视图模型而非MVMV模型 - 视图模型 - 视图或VVMM视图 - 视图模型 - 模型 既然信息从视图到视图模型直到模型或其他方式,MVVM不是错误的初始化吗?
  • 1157 votes
     answers
     views

    MVC和MVVM有什么区别?

    标准的“模型视图控制器”模式与Microsoft的模型/视图/ ViewModel模式之间是否存在差异?
  • 85 votes
     answers
     views

    编码成就系统的最佳方式

    我正在考虑设计一个在我的网站上使用的成就系统的最佳方法 . 数据库结构可以在Best way to tell 3 or more consecutive records missing找到,这个线程实际上是从开发人员那里获得想法的扩展 . 我在这个网站上有很多关于徽章/成就系统的讨论就是这个问题 - 这都是谈话而不是代码 . 实际的代码实现示例在哪里? 我在这里提出一个设计,我希望人们可以做出贡献...
  • 254 votes
     answers
     views

    关系数据库设计模式?

    设计模式通常与面向对象的设计有关 .Are there design patterns for creating and programming relational databases?许多问题肯定必须有可重复使用的解决方案 . 示例包括表格设计,存储过程,触发器等模式...... 是否存在此类模式的在线存储库,类似于martinfowler.com? 模式可以解决的问题示例: 存储分层数...
  • 4 votes
     answers
     views

    绕过“搬出借来的自我”检查员的优选模式

    考虑一种模式,其中有几个状态向调度程序注册,并且每个状态知道在收到适当事件时要转换到的状态 . 这是一种简单的状态转换模式 . struct Dispatcher { states: HashMap<Uid, Rc<RefCell<State>>>, } impl Dispatcher { pub fn insert_state(&mut...
  • 3 votes
     answers
     views

    寻找更好的设计:只读内存缓存机制

    我有一个Category实体(类),它有零个或一个父类别和许多子类别 - 它是一个树结构 . Category数据存储在RDBMS中,所以 for better performance, I want to load all categories and cache them in memory while launching the applicaiton. 我们的系统可以有插件,我们允许插件...
  • 342 votes
     answers
     views

    单身人士与Android中的应用程序上下文?

    回想一下这个post enumerating several problems of using singletons并且看过几个使用单例模式的Android应用程序的例子,我想知道使用Singletons而不是通过全局应用程序状态共享的单个实例(子类化android.os.Application并通过context.getApplication()获取它是一个好主意) . 两种机制都有哪些优点/...
  • 9 votes
     answers
     views

    协议:为什么要求@ObjC进行一致性检查和可选要求?

    Swift documentation说明以下有关协议: 只有在协议标记为@objc属性时才能检查协议一致性,如上面的HasArea协议所示 . 此属性指示协议应该暴露给Objective-C代码,并在使用Swift with Cocoa和Objective-C中进行了描述 . 即使您没有与Objective-C进行互操作,如果您希望能够检查协议一致性,也需要使用@objc属性标记协议 . 另请...
  • 588 votes
     answers
     views

    C Singleton设计模式

    最近我碰到了C的Singleton设计模式的实现/实现 . 看起来像这样(我从现实生活中采用了它): // a lot of methods are omitted here class Singleton { public: static Singleton* getInstance( ); ~Singleton( ); private: S...
  • 672 votes
     answers
     views

    Java核心库中的GoF设计模式示例

    我正在学习GoF Java设计模式,我想看看它们的一些真实例子 . Java核心库中这些设计模式的一些很好的例子是什么?
  • 2751 votes
     answers
     views

    什么是依赖注入?

    已经发布了几个关于dependency injection的具体问题的问题,例如何时使用它以及它有哪些框架 . 然而, What is dependency injection and when/why should or shouldn't it be used?
  • 439 votes
     answers
     views

    依赖注入与工厂模式

    对于使用依赖注入引用的大多数示例,我们也可以使用工厂模式来解决 . 看起来在使用/设计时,依赖注入和工厂之间的差异是模糊的还是薄的 . 一旦有人告诉我它如何使用它会产生影响! 我曾经使用StructureMap一个DI容器来解决问题,后来我重新设计它以使用一个简单的工厂并删除了对StructureMap的引用 . 任何人都可以告诉我他们之间的区别是什么,在哪里使用什么,这里最好的做法是什么?

热门问题