Click here to Skip to main content
15,888,121 members

Gary H Guo - Professional Profile



Summary

    Blog RSS
11,594
Author
235
Authority
52
Debator
78
Editor
69
Organiser
709
Participant
0
Enquirer
Object-oriented (OO) is about "classes" not "objects". But I truly believe that "objects" deserve more our attentions. If you agree, read more on... Dynamic Object Programming (DOP), Component-Based Object Extender (CBO Extender), AOP Container and Dynamic Decorator Pattern.

Mobile development is not just another type of front end. The real challenge is actually in the back end: How to present meaningful information in time to mobile users with exponentially increased data flooding around? Here is my first mobile solution: SmartBars - Barcode Reader, Price Comparison and Coupons.

Gary lives in southeast Michigan. My first programming language is FORTRAN. For the last a few years, I have primarily focused on .NET technologies with Mobile Development as my newest interest.

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralGeneric Dynamic Decorator [modified] Pin
Gary H Guo21-Jul-11 4:42
Gary H Guo21-Jul-11 4:42 
GeneralPerformance of Dynamic Decorator [modified] Pin
Gary H Guo15-Apr-11 1:29
Gary H Guo15-Apr-11 1:29 
GeneralAspects to Object vs Aspects to Class [modified] Pin
Gary H Guo12-Jan-11 10:03
Gary H Guo12-Jan-11 10:03 
GeneralDecorator Pattern That Doesn't Need Decorator Classes Pin
Gary H Guo7-Oct-10 17:59
Gary H Guo7-Oct-10 17:59 
GeneralNo More ContextBoundObject‏ [modified] Pin
Gary H Guo6-Oct-10 16:36
Gary H Guo6-Oct-10 16:36 
GeneralHistory of Dynamic Decorator [modified] Pin
Gary H Guo5-Oct-10 16:53
Gary H Guo5-Oct-10 16:53 
About five years ago, I got to know dynamic proxy concept and tried some Aspect Oriented programming. At first, I was excited about the AOP since it declares to address crosscutting concerns that cannot be solved by OOP effectively. Before long, I realized that AOP was a heavyweight approach to address some of my existing issues and I didn't know whether it would cause more issues than it addressed.

Some articles discussed AOP using existing .NET remoting infrastructure. They all had a serious limitation in that only classes derived from ContextBoundObject could have aspects added. That really didn't take me too far. I concluded that the AOP for .NET was too early. Then, I moved on until recently I got chance to go over one of my favorite books - "Agile Principles, Patterns, and Practices in C#" (Robert C. Martin).

The way the author describes patterns made me thinking. While going through the sections of Decorator pattern in the book, I kept thinking that it must have taken some really smart guys to figure out this pattern. But what I really wanted was to add some extra functionality to my object. I don't want to go through all decoration class design exercises every time I need some additional functionality to an object.

That made me think about the dynamic proxy again. I thought that maybe I could do something with the dynamic proxy to add extra functionality to an object without changing the source code. That led the idea of Dynamic Decorator pattern.

In the next blog, I'll discuss how the Dynamic Decorator overcomes the shortcomings associated with the dynamic proxy that uses existing .NET remoting infrastructure.

modified on Monday, February 14, 2011 10:49 PM

GeneralPublish experience on codeproject Pin
Gary H Guo4-Oct-10 17:52
Gary H Guo4-Oct-10 17:52 
Generaltest blog Pin
Gary H Guo4-Oct-10 3:29
Gary H Guo4-Oct-10 3:29 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.