{"action":"created","issue":{"url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/6","labels_url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/6/comments","events_url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/6/events","html_url":"https://github.com/uv48uson/amos-ss15-proj3/issues/6","id":71307158,"number":6,"title":"VcsController purpose?","user":{"login":"TPolzer","id":6651466,"avatar_url":"https://avatars.githubusercontent.com/u/6651466?v=3","gravatar_id":"","url":"https://api.github.com/users/TPolzer","html_url":"https://github.com/TPolzer","followers_url":"https://api.github.com/users/TPolzer/followers","following_url":"https://api.github.com/users/TPolzer/following{/other_user}","gists_url":"https://api.github.com/users/TPolzer/gists{/gist_id}","starred_url":"https://api.github.com/users/TPolzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TPolzer/subscriptions","organizations_url":"https://api.github.com/users/TPolzer/orgs","repos_url":"https://api.github.com/users/TPolzer/repos","events_url":"https://api.github.com/users/TPolzer/events{/privacy}","received_events_url":"https://api.github.com/users/TPolzer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-04-27T14:54:27Z","updated_at":"2015-04-27T18:36:02Z","closed_at":null,"body":"Do we really need all that stuff in the class VcsController? It looks like a factory for VcsClients to me (with a lot of boilerplate), so in consequence I think it should only consist of a (potentially overloaded) factory method."},"comment":{"url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/comments/96774121","html_url":"https://github.com/uv48uson/amos-ss15-proj3/issues/6#issuecomment-96774121","issue_url":"https://api.github.com/repos/uv48uson/amos-ss15-proj3/issues/6","id":96774121,"user":{"login":"gayathery","id":11977313,"avatar_url":"https://avatars.githubusercontent.com/u/11977313?v=3","gravatar_id":"","url":"https://api.github.com/users/gayathery","html_url":"https://github.com/gayathery","followers_url":"https://api.github.com/users/gayathery/followers","following_url":"https://api.github.com/users/gayathery/following{/other_user}","gists_url":"https://api.github.com/users/gayathery/gists{/gist_id}","starred_url":"https://api.github.com/users/gayathery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gayathery/subscriptions","organizations_url":"https://api.github.com/users/gayathery/orgs","repos_url":"https://api.github.com/users/gayathery/repos","events_url":"https://api.github.com/users/gayathery/events{/privacy}","received_events_url":"https://api.github.com/users/gayathery/received_events","type":"User","site_admin":false},"created_at":"2015-04-27T18:36:02Z","updated_at":"2015-04-27T18:36:02Z","body":"i accept that Factory method will provides the same solution...But in that case any additional functionality (like session handling) in the future needs one more layer which can be avoided if we have this controller. Another situation would be when we need to aggregate data from multiple Vcs. From a normal perspective, i do not find any problem in having this class. it neither creates any problem in design, implementation or with performance. In fact this itself is a normal design pattern very often used in development, the main purpose of it being extensibe and a providing scope for data aggregation"}}