Right now I'm working on a project that requires its own custom registration/authentication system and it got me thinking about object responsiblity and OO design.
I'll pose this question and see what kind of opinions everyone has.
I have a "User" class with the usual properties - first name, last name, email, etc.etc.
Should my User class have a method named "Register" where the User object is responsible for knowing how to register itself - OR - should I have a 'Register' method in say, some kind of security class that accepts a User object and uses the property values to register the User? I've abstracted all the direct DB interaction code into a data access library but where the Register method belongs - in terms of good standard OO design - still has me thinking. I might have to dig up my copy of "Object Thinking". It's been a while since I read it but I remember it having good stuff on topics like this.
What do you think the right design is?
I just have to point to this
, because of the "cool" factor. Some really awesome stuff being developed, and I'm really glad to see it supporting Firefox since it's been my main browser for about 2 years now.
The people behind Mix06 just posted a bunch of new content on the Mix06 site. If you're thinking of attending it's worth checking out.
I found out about this from their RSS feed.
Over on my Project FAZR Blog
- I wrote about how we're looking for 1 or 2 people to join us. If you're interested - give it a look.
From my last post it might seem like I'm harping on the Live Messenger Beta quite a bit. I'd just like to get some help on the latest issue, if anyone can help me out.
From the main window, if I go to Help > Beta Invitations it opens up a browser window where I have to sign into Passport. After that, it just takes me to this page: http://ideas.live.com/ErrorPage.aspx?ErrorCode=2
A bad url? Uh...hey messenger..YOU'RE THE ONE that sent me there!
A friend wanted me to send him an invitation but apparently, I'm not even allowed to do that anymore, either. I wonder how many other people are having this problem.
I'm the type of person that leaves their machine running 24/7. So, the new MSN Messenger 8 Beta has been running for a while now..probably at least 48 hours or more. When I got a system notification area popup telling me my virtual memory was low, I opened Task Manager to look at the status of applications running, and sorted them by memory usage:
Yikes! I hope whatever does that gets worked out before it's released!
p.s. Speaking of Live Messenger 8 - I think I'm about ready to do what Russ Nemhauser did and just rollback to the previous release of MSN Messenger. It's that bad.
Anyone else get an email invite to the Newsvine beta? My column is at http://jasonmauss.newsvine.com.
So far it seems pretty interesting. I've still got a lot of poking around to do, though.
Various bloggers have already been debating for some time about whether AJAX/DHTML/Web 2.0 (whatever u want to call it) or Smart Client/Windows Forms/Thick Client/ is the way of the future. Well, I'm not debating it. I'm declaring DHTML the winner.
Maybe you're wondering why I think DHTML will conquer the smart client. Some might say it already has. Just look at how many applications are already using DHTML effects to drive rich web-based user interfaces.
More is on the way. Much more.
Am I just hopping on the DHTML bandwagon? Not really. I've reserved my opinion on this issue for a while. I've been standing on the sidelines watching both sides gain and lose momentum in the debate. Will Windows Vista be awesome? Yeah, for sure. But how much is Vista really going to change the way you use the internet? Transparent aero-glass and Flip 3D is only going to mean so much to users - and is really only part of the "wow" factor to me, not a reason to keep using it. To be honest, I spend much more time keeping an eye out for new Firefox extensions than I do for Windows apps. Am I the only one?
Another big reason DHTML wins - it feeds into our ever-increasing sense of instant gratification. I click a link to access a web app. Done. Not download a setup.exe|.msi|.zip|.wtf. Then run the setup. Then reboot. Then find a shortcut. Get the picture? Oh, and how's that ClickOnce thing coming, Microsoft? (Yes, to be fair, there is a workaround, but still...)
Deployment, anyone?. Ok, how many people (I mean people, not just developers) are forever scorned and jaded by DLL-Hell? I'm not sure Microsoft truly understands how much damage COM and the registry has inflicted (and still inflicts) upon their customers. The pain from DLL-Hell isn't going away anytime soon. In the meantime, DHTML is over in the corner chuckling at COM and it's siamese twin, the registry.
I keep hearing the argument from the smart/thick client side that it can work in "offline" mode. I'm being 100% honest when I say that has never been an issue for me with a web application, ever. What is there to argue beyond that? Faster response times? I'm not seeing the smart client advantages very easily.
So anyway, there you have it. Declared by me - a name and face in the crowd that really doesn't matter - that DHTML wins.
I ran into this site about 4-5 years ago and just remembered the URL today so I thought I'd share it with anyone reading.
Acts of Gord
Running a video game rental store sounds like one of the most thankless jobs ever but, this guy has found a way to make it hilariously entertaining. Warning: you may end up spending a lot of time reading the stories on this site.
It's been quite a while since I posted anything here (about a month). To be honest, I have a legit excuse when I say "I've been busy". I've been doing work for Telligent, writing the documentation for the 2.0 release of Community Server. You might think that just "writing documentation" would be a pretty simple, straightforward job (like I did originally) but it's turned out to provide several challenges. Because Community Server has grown into such a robust product, there is a lot of stuff to write about. Blogs, Forums, Photo Galleries, File Galleries, RSS Readers, Security Settings, and on and on and on. I'm only about half-way done with the documentation so far and I've probably got 250+ screenshots of the product.
It's not enough to just "document" the product and it's features, either. I have to think about how to organize the content so that it can answer people's questions in as few clicks as possible. Then there's the glossary, and the index. The table of contents. Keyword indexing. Fortunately, RoboHelp makes most of it pretty automated but it's still time consuming.
The awesome side-effect of documenting Community Server is that I'd say my knowledge of the product has increased by about 2000 %. The guys at Telligent are kidding either when they say that 2.0 is going to be a major improvement over their 1.x releases. It keeps getting better with every week.
I definitely am not going to be able to make my Jan 1, 2006 goal for the DevCampus beta, either (unfortunately). I think once the work with Telligent slows down/stops I'll be able to take a "break" and finish up the site for beta testing.
More Posts Next page »