您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Methods.class与策略模式和依赖项注入中的代码重用

Methods.class与策略模式和依赖项注入中的代码重用

您的问题实际上有两个含义。

必须在许多类中多次重用

它可以是设计模式(可重用组件)或内存成本(类实例化)的上下文。从两种不同的角度谈:

本节实际上仅涵盖2种实例化。

简而言之,如果类很多,那么静态将花费很高,而如果请求很高(例如,在循环内部),则非静态将花费很高。但这不应该使您的应用程序繁重。尽管在Java / csharp中,大多数操作都是创建对象。

优点:

缺点:

优点:

缺点:

实际上,它的设计与3或相同composition over inheritance

优点:

缺点:

我认为状态在您的应用程序设计中起着重要的规则。通常,开发人员尝试避免在业务逻辑代码中包含状态,例如:

// get data
if(request.IsDraft){
  // step 1
  // step 2
}
else{
  // step 1
  // step 3
}

开发人员倾向于将逻辑放在其他stateless类中,或者至少将诸如以下方法

// get data
if(request.IsDraft){
    draftRequestHandler.Modify(request);
}
else{
    publishedRequestHandler.Modify(request);
}

它将提供更好的可读性,并且更易于修改和单元测试。也有一种设计模式state pattern or hierarchial state machine pattern,特别是处理这样的情况。

恕我直言,如果遵循这一原则,则将带来最大的好处。优点是:

这种设计不能保证您的代码没有错误。考虑到在设计阶段花费时间和分层工作,它具有以下优点:

服务定位器反模式

使用Decorator处理横切关注点

这些设计和策略不是决定您的应用程序结构的关键。仍然由建筑师来决定。我宁愿遵循诸如SOLID,KISS和GRASP之类的原则,而不是确定最佳的结构。据说依赖注入遵循了大多数原则,但是过多的抽象和不正确的组件设计将导致滥用单例模式。

其他 2022/1/1 18:29:22 有433人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶