码迷,mamicode.com
首页 > 其他好文 > 详细

[Note] Collaborator vs. the Factory

时间:2015-08-05 01:02:10      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

Collaborator-vs-he-Factory

Collaborator vs. the Factory

  • your code should either be in the business of doing business logic or in the business of instantiating and wiring other objects together
  • What this effectively means is that your either have classes with ifs and loops (your business logic) or you have classes with new operators (your factories).要么处理逻辑,要么创建对象
  • But in practice you only need one factory class each time you cross an object lifetime
  • To allow the removal of the new operators from our business logic classes, we need to ask for our?collaborators?instead of making them
  • ?This means that each class only knows about other classes with which it is in direct contact and which it needs to get its job done.
  • ?The trick lies that the view of the world from the factory is different than the view from the collaborator.
  • The collaborators only know about its direct dependecies and the factories know about everything, and that is a good thing.?

But in my experience I saw there are times when objects are created based on business logic. So, some object requires a certain object, with a certain interface. The tricky part is that the concrete object? type is determined at runtime in some business logic code.

  • ?Let the factory control the wiring process keeping the ifs out of it (as much as possible).
  • A single factory can be responsible for a whole object graph, so there is not necessarily a one-to-one correspondence there between classes and factories

原文链接:Collaborator vs. the Factory

[Note] Collaborator vs. the Factory

标签:

原文地址:http://www.cnblogs.com/xilifeng/p/4703541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!