>In java you can get 50% of the way to AOP using >Dynamic Proxies (see java.lang.reflect.Proxy) >which allows you to wrap all method >invocations or an object. This without an >outside tool. This is how a lot of j2ee app >servers do thier magic.
While the java.lang.reflect.Proxy class is very powerful, it is also extremely limited. It can only decorate objects that implement interfaces, and you have to explicitly "wrap" objects with your proxy. Factories can help, and this works especially well for app servers that emphasize clean design. But for most times when you'd like to use Proxy, it isn't practical.
Thoughtful comments, but you're misinterpreting MVC and Struts. I think you're defining MVC in terms of Swing-like designs. Properly designed, Struts adheres nicely to the MVC pattern.
Struts _does_ provide an event model, but with very coarse granularity. A request can be thought of as an event, handled by an Action. The Action performs presentation controller logic (interpreting the request to initiate some work, get data used to render a page), but should delegate to the Business Tier to perform the business controller logic (persistance, business rules, etc.). A common pattern here is the Session Facade, although it by no means needs to be implemented using EJBs. The Controller is spread across two tiers, each with different responsibilities. The Model is used only by the facade implementation, interacting with the persistance.
The View in a webapp also can/should have widgets: taglibs. In typical Struts designs, they render a page using data prepared by the Action. But nothing prevents you from having tags which interact directly with the Session Facade, pulling out data directly.
Webapps will never look like Swing apps. Their designs map differently onto MVC components....I realize not all Struts apps factor out their layers to strictly follow the Blueprints. But large enterprise apps often do, and this maps pretty cleanly onto MVC.
Very insightful article, happily one of their free ones. Microsoft is in for a tough fight. They've gotten little licensing from major players, and are using alternate, less effective channels to gain a foothold.
Their cover story is also related, and is as usual, excellent.
Very insightful article, happily one of their free ones. Microsoft is in for a tough fight. They've gotten little licensing from major players, and are using alternate, less effective channels to gain a foothold.
People assume they have privacy in their cars. The article above points out that the stations passers by are listening to are gathered in aggregate, and not linked to an individual.
But could the same info be linked to individuals by optical license plate recognition? Tough in a traffic jam, but maybe source of the signals could be triangulated.
A car radio's RF leakage, if you can call it that, could become another criteria for buyers.
Large companies have departments that manage testing, promoting and building applications for production. Mechanisms must exist to do these things that are automatable, repeatable and done from the command line. Why should a change management monkey have to start up an IDE to modify and recreate an EAR for a different environment?
Re:Beware of overusing patterns.
on
Design Patterns
·
· Score: 1
Sure, it happens and I've seen it too.
But what happens far more often in my experience is that people just jump into a design without doing solid analysis of the problem, which is where it often becomes obvious where certain patterns have something to offer.
You're right that the goal shouldn't be "pattern density" so much as just solid design.
The scenario you describe may be comical, but the fact that they were even aware of patterns and could recognize areas where they might possibly be useful means they were probably more savvy than most.
>Did anyone else notice that if you open up the
>bottom of the unit for service, you have to
>reapply thermal paste to prevent excess heat
>from damaging components? That is the first case
>I have ever seen where opening it requires
>adding more thermal paste.
The iMac has no internal fan. Thus the paste. Users aren't going to be opening that part of the box anyway, as all user-servicable bits are behind the hatch.
But how many are even going to go to that trouble to learn how to use these things? There's no doubt that they're better executed than anything on Windows, but so is the whole of the Mac OS, and it still has a meager market share.
Fair enough. Sad, but does seem to be the pattern.
It'll be interesting to see how it all pans out a year from now though. This really is the first time in forever that Apple has interesting hardware and software. With lots of media attention who knows, they just might make a dent.
The Apple stores may end up being an effective strategy if they can get enough of them going. The products are pretty compelling when you actually see them used. Circuit City, Best Buy, etc., all did a terrible job of presenting and demonstrating the products they carried. No wonder they didn't sell. Properly marketed and presented in stores, I still see a >3.9% niche being reasonable for Macs.
Anyway, Jobs seems to have a knack for being surprisingly effective in grim circumstances...whatever else people think of him.
My number one rule with people is that they are generally lazy.
True, not to mention intimidated by anything remotely tricky and computer related.
But that's the point. I'm not much for hype either, but have you actually used any of apple's "digital lifestyle" products?
The iPod/iTunes integration is brilliantly executed. Drop a CD in and its converted and added to the library. Plug the iPod in and now its on your MP3 player.
iMovie is much easier to use to make movies than any of its competitors. The bar is still relatively high, but acting on mild curiosity is enough to get pretty surprisingly good results. And compare how easy it is to burn these to DVDs to send to the grandparents.
Its still speculation, but I bet iPhoto does the same for digital pictures.
The point is, the lazy masses _want_ to use digital cameras, make movies to share, listen to music, etc. Apple's edge -- regardless of whether or not it ends up winning market share -- is that they do these things a hell of a lot better than those in Microsoft's camp.
The fact is that the SourceForge.net phenomenon has focused and fueled open source development. By providing developers essential and basic resources needed for development, the Bazaar gained a meeting place, somewhere that anyone could pitch a tent and set up shop.
SourceForge itself is just one of 30,000(?) projects hosted. If VA Linux believes it can keep SourceForge.net alive by closing and marketing SourceForge itself, more power to them. If those who contributed to its development feel differently, they have the right not to assign the rights to VA Linux. But does this help or hurt the open source movement?
Come on, lets do what it takes to let them be a viable business. Do you really believe it was purely greed that made them invest capital and creativity to make SF what it is? They're among the early believers, and I think this is still true. And no amount of excellent code from Savanah, etc., will make up for the loss of the monstrous server farm and support VA contributes if good ideals (free software) are taken to irrational extremes (not letting VA make a profit without crying "traitor!").
Incidently, the company I work for has just set up a sourceforge site based on the early 2.6 releases, which now hosts all of our IP...and it rocks. This same code was the seed for Savanah (right?).
>In java you can get 50% of the way to AOP using
>Dynamic Proxies (see java.lang.reflect.Proxy)
>which allows you to wrap all method
>invocations or an object. This without an
>outside tool. This is how a lot of j2ee app
>servers do thier magic.
While the java.lang.reflect.Proxy class is very powerful, it is also extremely limited. It can only decorate objects that implement interfaces, and you have to explicitly "wrap" objects with your proxy. Factories can help, and this works especially well for app servers that emphasize clean design. But for most times when you'd like to use Proxy, it isn't practical.
Aspects get around this completely.
Thoughtful comments, but you're misinterpreting MVC and Struts. I think you're defining MVC in terms of Swing-like designs. Properly designed, Struts adheres nicely to the MVC pattern.
...I realize not all Struts apps factor out their layers to strictly follow the Blueprints. But large enterprise apps often do, and this maps pretty cleanly onto MVC.
Struts _does_ provide an event model, but with very coarse granularity. A request can be thought of as an event, handled by an Action. The Action performs presentation controller logic (interpreting the request to initiate some work, get data used to render a page), but should delegate to the Business Tier to perform the business controller logic (persistance, business rules, etc.). A common pattern here is the Session Facade, although it by no means needs to be implemented using EJBs. The Controller is spread across two tiers, each with different responsibilities. The Model is used only by the facade implementation, interacting with the persistance.
The View in a webapp also can/should have widgets: taglibs. In typical Struts designs, they render a page using data prepared by the Action. But nothing prevents you from having tags which interact directly with the Session Facade, pulling out data directly.
Webapps will never look like Swing apps. Their designs map differently onto MVC components.
Ok, link problems should be gone (Thanks avdp!)
Nokia vs. Microsoft
Very insightful article, happily one of their free ones. Microsoft is in for a tough fight. They've gotten little licensing from major players, and are using alternate, less effective channels to gain a foothold.
Their cover story is also related, and is as usual, excellent.
Computing's New Shape
Hmm, the link I posted has a space in it so doesn't work.
t ory.cfm ?Story_ID=1454300
c fm ?Story_ID=1454436
Try
http://economist.com/printedition/displayS
Their cover story is also related, and is as usual, excellent.
http://economist.com/printedition/displayStory.
Again, if either of these don't work, make sure there are no spaces when you paste into the browser.
http://economist.com/printedition/displayStory.cfm ?Story_ID=1454300
Very insightful article, happily one of their free ones. Microsoft is in for a tough fight. They've gotten little licensing from major players, and are using alternate, less effective channels to gain a foothold.
and things start to get scary.
People assume they have privacy in their cars. The article above points out that the stations passers by are listening to are gathered in aggregate, and not linked to an individual.
But could the same info be linked to individuals by optical license plate recognition? Tough in a traffic jam, but maybe source of the signals could be triangulated.
A car radio's RF leakage, if you can call it that, could become another criteria for buyers.
Large companies have departments that manage testing, promoting and building applications for production. Mechanisms must exist to do these things that are automatable, repeatable and done from the command line. Why should a change management monkey have to start up an IDE to modify and recreate an EAR for a different environment?
Sure, it happens and I've seen it too.
But what happens far more often in my experience is that people just jump into a design without doing solid analysis of the problem, which is where it often becomes obvious where certain patterns have something to offer.
You're right that the goal shouldn't be "pattern density" so much as just solid design.
The scenario you describe may be comical, but the fact that they were even aware of patterns and could recognize areas where they might possibly be useful means they were probably more savvy than most.
>Did anyone else notice that if you open up the
>bottom of the unit for service, you have to
>reapply thermal paste to prevent excess heat
>from damaging components? That is the first case
>I have ever seen where opening it requires
>adding more thermal paste.
The iMac has no internal fan. Thus the paste. Users aren't going to be opening that part of the box anyway, as all user-servicable bits are behind the hatch.
But how many are even going to go to that trouble to learn how to use these things? There's no doubt that they're better executed than anything on Windows, but so is the whole of the Mac OS, and it still has a meager market share.
Fair enough. Sad, but does seem to be the pattern.
It'll be interesting to see how it all pans out a year from now though. This really is the first time in forever that Apple has interesting hardware and software. With lots of media attention who knows, they just might make a dent.
The Apple stores may end up being an effective strategy if they can get enough of them going. The products are pretty compelling when you actually see them used. Circuit City, Best Buy, etc., all did a terrible job of presenting and demonstrating the products they carried. No wonder they didn't sell. Properly marketed and presented in stores, I still see a >3.9% niche being reasonable for Macs.
Anyway, Jobs seems to have a knack for being surprisingly effective in grim circumstances...whatever else people think of him.
Good luck to him.
My number one rule with people is that they are generally lazy.
True, not to mention intimidated by anything remotely tricky and computer related.
But that's the point. I'm not much for hype either, but have you actually used any of apple's "digital lifestyle" products?
The iPod/iTunes integration is brilliantly executed. Drop a CD in and its converted and added to the library. Plug the iPod in and now its on your MP3 player.
iMovie is much easier to use to make movies than any of its competitors. The bar is still relatively high, but acting on mild curiosity is enough to get pretty surprisingly good results. And compare how easy it is to burn these to DVDs to send to the grandparents.
Its still speculation, but I bet iPhoto does the same for digital pictures.
The point is, the lazy masses _want_ to use digital cameras, make movies to share, listen to music, etc. Apple's edge -- regardless of whether or not it ends up winning market share -- is that they do these things a hell of a lot better than those in Microsoft's camp.
The fact is that the SourceForge.net phenomenon has focused and fueled open source development. By providing developers essential and basic resources needed for development, the Bazaar gained a meeting place, somewhere that anyone could pitch a tent and set up shop.
SourceForge itself is just one of 30,000(?) projects hosted. If VA Linux believes it can keep SourceForge.net alive by closing and marketing SourceForge itself, more power to them. If those who contributed to its development feel differently, they have the right not to assign the rights to VA Linux. But does this help or hurt the open source movement?
Come on, lets do what it takes to let them be a viable business. Do you really believe it was purely greed that made them invest capital and creativity to make SF what it is? They're among the early believers, and I think this is still true. And no amount of excellent code from Savanah, etc., will make up for the loss of the monstrous server farm and support VA contributes if good ideals (free software) are taken to irrational extremes (not letting VA make a profit without crying "traitor!").
Incidently, the company I work for has just set up a sourceforge site based on the early 2.6 releases, which now hosts all of our IP...and it rocks. This same code was the seed for Savanah (right?).