开发者

Where should I keep my FacebookSession object for a Flex AS3 project?

This question extends beyond the Facebook library and is really a general architecture question. I am using the Facebook AS3 lib which has a FacebookSession class. The class contains data for a facebook sessi开发者_开发技巧on so that I can make authenticated calls to the Facebook API.

I am using the Facebook API all over my Flex app and I am tempted to store it in a Singleton class. I think this is a pretty good option but was wondering if someone had a different point of view for a possible Architecture.

Thanks!


Building off Pbirkoff's answer, I would recommend using an MVC approach whether or not you decide to go with an explicit framework to make that happen.

In that case, FacebookSession would be a model class, and I usually like to have model be a top-level package (after all the com.domainname stuff). So in this case I might do something like com.tony.model.facebook.FacebookSession for the package structure.

For a small project like yours, a Singleton is fine. Once the codebase grows much larger, singletons become dangerous because now you have a lot of global state and this can get messy if you have a ton of classes accessing the singleton from all over the code (see http://misko.hevery.com/code-reviewers-guide/flaw-brittle-global-state-singletons/), because it breaks loose coupling.

Once your project gets larger you can look into using dependency injection to avoid this singleton problem. In this case a framework like Swiz, etc. can come in handy.

HTH,

Karthik


How large is your application going to be? You could consider using a framework like PureMVC (http://www.puremvc.org). It helps to decide where to put certain things (In this case, your FaceBookSession would be placed inside a Proxy in PureMVC).

Otherwise, a singleton sounds good enough.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜