当前位置: 首页 > news >正文

asp.net 旅游网站开发网站开发项目需要哪些人员策划师

asp.net 旅游网站开发,网站开发项目需要哪些人员策划师,新浪舆情系统,惠山做网站公司autowired最近#xff0c;我写了Autowired注释 #xff0c;它使我们可以编写更少的代码#xff0c;从而使我们的生活更轻松 。 但是#xff0c;使用它通常会使您的设计更加复杂。 尤其是当我们谈论在类的属性上使用它时。 它更容易违反 单一责任原则 。 这样可以更容易地注… autowired 最近我写了Autowired注释 它使我们可以编写更少的代码从而使我们的生活更轻松 。 但是使用它通常会使您的设计更加复杂。 尤其是当我们谈论在类的属性上使用它时。 它更容易违反 单一责任原则 。 这样可以更容易地注意到这一点。 可以将Autowired与属性一起使用但是我认为构造函数的存在会在问题出现时以过多的依赖关系可视化该问题。 即使没有在我们这边加倍照顾。 不断增长的代码 让我们使用文章中有关构造方法和设置方法的已知示例但我们将对其进行一些修改。 因此曾经有一个事件必须处理。 首先我们必须从数据库中检索所有必需的信息然后我们就可以基于该信息触发适当的操作。 根据需求我们创建了以下代码片段 public class SomeHandler {Autowired private final Repository repository;Autowired private final Trigger trigger;public void handle(SomeEvent event) {// some code} } 但是改变是唯一可以确定的。 客户提出了新的要求我们不得不扩展功能。 客户希望存储所有信息然后才能采取适当的措施。 他们还希望在发生任何紧急事件时得到通知。 经过所有更改我们最终得到了这样的结果 public class SomeHandler {Autowired private final Repository repository;Autowired private final Trigger trigger;Autowired private final SnapshotTaker snapshotTaker;Autowired private final Notifier notifier;public void handle(SomeEvent event) {// some code} } 从类的角度来看这是编写良好的代码吗 好吧我相信三到四个依赖关系一定会给我们提供开始考虑进行小型重新设计的理由。 不幸的是四个依赖不是我在单个类的代码中见过的最多的依赖关系…… Autowired在哪里 好的但是Autowired必须做什么 解决该问题的方法是在需要时重构和重新设计代码对吗 我相信有些人会同意我的观点。 但是在做出任何更改决定之前我们必须找出问题所在。 好的再说一次– Autowired必须做什么 依赖项的数量是否有问题这不是很明显吗 好吧在字段上使用Autowired使它有点模糊。 当您查看上面的代码时似乎并不会感到很痛苦。 这些只是四行代码短行代码。 我们可能会争辩说任何优秀的开发人员都应该知道什么时候太多了但是为什么我们应该假设何时可以编写可以表达问题本身的代码呢 如果所有这些依赖项都是必需的我们可以使用构造函数来注入它们 public class SomeHandler {private final Repository repository;private final Trigger trigger;private final SnapshotTaker snapshotTaker;private final Notifier notifier;Autowiredpublic SomeHandler(Repository repository, Trigger trigger, SnapshotTaker snapshotTaker, Notifier notifier) {this.repository repository;this.trigger trigger;this.snapshotTaker snapshotTaker;this.notifier notifier;}public void handle(SomeEvent event) {// some code} } 现在代码“告诉”我们一些东西。 这个长的构造函数声明看起来并不好。 我们不必考虑四个是否太多。 我们看到了。 在示例中我们同时使用了类和方法的简称但在实际应用中有时这些名称要更长一些以便尽可能地描述 Autowired public SomeHandler(EventRepository eventRepository, EventActionTrigger eventActionTrigger, EventSnapshotTaker eventSnapshotTaker, EmergencyIssueNotifier emergencyIssueNotifier) {this.repository eventRepository;this.trigger eventActionTrigger;this.snapshotTaker eventSnapshotTaker;this.notifier emergencyIssueNotifier; } 现在问题更明显了不是吗 并且添加另一个依赖关系只会伤害我们的眼睛如果尚未发生 Autowired public SomeHandler(EventRepository eventRepository, EventActionTrigger eventActionTrigger, EventSnapshotTaker eventSnapshotTaker, EmergencyIssueNotifier emergencyIssueNotifier, SomeAnotherDependency someAnotherDependency) {this.eventRepository eventRepository;this.eventActionTrigger eventActionTrigger;this.eventSnapshotTaker eventSnapshotTaker;this.emergencyIssueNotifier emergencyIssueNotifier;this.someAnotherDependency someAnotherDependency; }我们需要更深入 但是现在不要停下来。 让我们看一下扩展类时的代码 public interface Handler {void handle(Event event); }public abstract class BasicEventHandler {Autowired private final EventRepository eventRepository;Autowired private final EventActionTrigger eventActionTrigger;// some code }public class SomeHandler extends BasicEventHandler implements Handler {Autowired private final EventSnapshotTaker eventSnapshotTaker;Autowired private final EmergencyIssueNotifier emergencyIssueNotifier;Autowired private final SomeAnotherDependency someAnotherDependency;public void handle(SomeEvent event) {// some code} } 在第一个示例中我们可以争论声明对象依赖项的代码行数是否足够大这使我们感到担忧。 当我们扩展一个类时在一个特定的类中这个数字可能很好。 但是此代码的问题甚至比前面的示例更大。 作者通常可以确定他们的解决方案是好的。 这就是我们作者对待正在创造的东西的方式。 但是这一次即使是代码审阅者也可能不会注意到问题。 不幸的是并不是每个人都会看到父类。 在检查代码时需要付出额外的努力。 即使没有签出分支我们仍然必须转到我们的IDE并打开类。 也许不是很多但请相信我对于我们中的某些人来说太多了​​。 如果我们同意构造函数是我们类的必需部分那么就不会出现问题。 public class SomeHandler extends BasicEventHandler implements Handler {private final EventSnapshotTaker eventSnapshotTaker;private final EmergencyIssueNotifier emergencyIssueNotifier;private final SomeAnotherDependency someAnotherDependency;Autowiredpublic SomeHandler(EventRepository eventRepository, EventActionTrigger eventActionTrigger, EventSnapshotTaker eventSnapshotTaker, EmergencyIssueNotifier emergencyIssueNotifier, SomeAnotherDependency someAnotherDependency) {super(eventRepository, eventActionTrigger);this.eventSnapshotTaker eventSnapshotTaker;this.emergencyIssueNotifier emergencyIssueNotifier;this.someAnotherDependency someAnotherDependency;} public void handle(SomeEvent event) {// some code} }使其明显 我们可以想想有多少是太多的条款协议。 我们可以尝试遵循自己的规则。 但是总有人会挑战这一点。 谁将编写代码并试图证明所有内容都适合并且应该在一起而这还不是“太多”。 不要争论 让代码说明一切 翻译自: https://www.javacodegeeks.com/2016/03/autowired-all-the-things.htmlautowired
http://www.yutouwan.com/news/368863/

相关文章:

  • 网站镜像 动态汽车用品网站规划
  • 河北网站备案查询系统三只松鼠网站推广策略
  • 泰州专业网站建设公司php网站模板怎么修改
  • 网站逻辑结构枣庄建设网站
  • 网站建设图片如何加载网站建设费用 多少
  • 凤翔网站开发织梦仿wordpress
  • cookie做网站登录北京招聘信息
  • 国外网站设计企业外包的风险与对策
  • 如何做全球网站排名安徽省工程招标信息网
  • 怎样做网站制作昆明网站建设制作
  • 网站后台是怎样制作的广告设计图片网站
  • 做电子元器件销售什么网站好安徽人
  • 快三网站开发抑郁症图片加时间生成器在线制作
  • 公司做网站济南深圳整站seo
  • 用 php网站建设打出一首古诗抖店推广
  • 石药网站东莞网站建设 熊掌号
  • 域名备案的网站名称伪造wordpress浏览量
  • wordpress快站jsp网站开发心得
  • 网站建设售前电子商务的功能有哪些
  • 河津网站建设银行需要网站开发人员嘛
  • 能免费做网站国外工作室网站
  • 电子口岸网站做资料库哈尔滨做网站哪家好
  • 做婚恋交友类网站网站设计师薪资
  • 网站注册信息深圳营销型网站seo
  • flash网站模板个人网站建立多少钱
  • 用angularjs做的网站小程序有哪些
  • 建设部网站注册规划师查询网站建设工作流程
  • 网站备案难吗腾讯云如何购买域名
  • 毕业设计成品网站上海人力资源网官方网
  • 国外服装定制网站安庆市建设局网站