Xit icon indicating copy to clipboard operation
Xit copied to clipboard

Interface segregation for XTRepository

Open Uncommon opened this issue 8 years ago • 0 comments

XTRepository should be refactored to conform to the Interface Segregation Principle.

Each class that uses XTRepository only uses a small subset of its features - managing branches, loading commit contents, etc. A protocol should be created for each of those functionality categories, so that client classes work with the repository through the protocol(s) that it actually needs.

Remaining classes that refer to XTRepository directly and probably shouldn't:

  • [ ] TitleBarViewController
  • [ ] XTOperationController
  • [ ] XTRemoteSheetController
  • [ ] XTSidebarController
  • [ ] XTSidebarDataSource
  • [ ] XTSidebarItem
  • [ ] XTHistoryViewController
  • [ ] XTHistoryTableController
  • [ ] FileViewController
  • [ ] XTCommitEntryController
  • [ ] BuildStatusCache

Uncommon avatar Jun 26 '17 18:06 Uncommon