zoyasiddiqui / NoteNinja

A note-taking app with python code snippets and AI helpers.
MIT License
3 stars 1 forks source link

Design Fixes #71

Closed mrdandelion6 closed 9 months ago

mrdandelion6 commented 9 months ago

Major Design Fixes

  1. CreateNoteViewModel Removal:

    • Removed the CreateNoteViewModel class entirely due to the absence of a corresponding view. Responsibilities were shifted to the SearchViewModel class, which was previously unused.
  2. EditPresenter Object Update:

    • Removed the editPresenter() object from CreateNoteInteractor and replaced it with searchPresenter() to maintain consistency in the project design. Now, each use case called from a specific view utilizes only the presenter associated with that view.
  3. Duplicate Arguments Removal:

    • Eliminated duplicate arguments of editNoteDAO in Main.java from all use case factories (e.g., EditNoteUseCaseFactory and HomeViewUseCaseFactory). When using the same editNoteDAO object for different interfaces, casting is now done within the use case factories.
  4. Single Presenter Object in Use Case Factories:

    • Previously, multiple editPresenter() objects were created for separate controllers in HomeViewUseCaseFactory. Removed editPresenter() entirely, replaced it with searchPresenter(), and now use only one searchPresenter() object for all controllers. This design choice reduces clutter and complexity, aligning with the approach in EditNoteUseCaseFactory.
  5. Introduction of Retrieve Use Case:

    • Added the Retrieve use case, responsible for persisting Note entity HashMap data within data.csv.
mrdandelion6 commented 9 months ago

Thank you, I appreciate your sincerity with the utmost gratitude.

tanishboiiii commented 9 months ago

Why of course good sir, you have well deserved this praise. In fact, this is the least one could give you for your valiant efforts.