WaniKani/OS-X-Notification — pull request #4 by jessecurry (2014-01-28 03:54:41+00:00)
Title: Refactored architecture

I did some pretty deep refactoring to get the codebase ready for more substantial changes in the future. There are some places where I'm not really honoring the law of demeter, but I plan to fix that in the future.

The biggest change is that I moved away from pulling and setting data, instead option to use Cocoa Bindings to observe changes to the new model objects. I was also able to eliminate the reliance on SBJSON as OS X now has a native JSON parser built in.

The last change is that all of the data is now stored in three model objects WKUser, WKStudyQueue, and WKLevelProgression… any calculated values have been moved out of the AppController and into the model objects.

Everything is working well for me at the moment, but I'd like to build in some automated tests to make sure that things don't break in the future.