作者:empty 页数:578 出版社:empty |
About the AuthorAbout the ReviewerAndrew Siemer is the co-founder of the.NETusergroupVirtualDNUG.com, andis currently an architect/engineer a tO TX Research.He has worked as a softwareengineer, architect, trainer, and author since 1998whenhe left the Army, Andrewhas provided consultancy to many companies on the topics of ecommerce, socialnetworking, and business systems.He has worked with e Universe(All You Can Inkcom) , Point Vantage(MyInks.com),CallawayGolf(CallawayConnect.com) , GuidanceSoftware(GuidanceSoftware.com),InfermixMedin(FlowGo.com,Grab.com) , and FOXInteractive(Americanldol.com,FoxSports.com) to name a few.In addition to his dailyduties, he also conducts classes in.NET, C#, and other web technologies, blogs onnumerous topics(blog.andrewsiemer.com, soc in i networking in.nct to name a couple) , andworksonfunnewcommunitiessuchasFisharoo.comandGymEd.com.Steven M.Swafford began developing software in 1995 while servingin the United States AirForce(USAF) .Upon leaving the USAF, he continueddeveloping leading edge solutions in support of the America's warfighters aspart of the original USAF enterprise portal development team.His roots are nowin central Alabama where he works as a software engineer developing Javaand.NET based applications and webservices.Steven's blog is located athttp://aspadvice.com/bloge/aawafford/,I would like to first thank my wife Jessica Siemer.Without her loveand understanding this project and all the others before it would nothave be enable to get off the ground, let alone get anywhere nearcompletion!For this book project in particular though Jess gave meeverything I needed to make it through to the end My day todaysuce esses in life would be nothing without you.I would also like to thank Brian Loes gen from Neu de sic forgettingme started down the book writing path.He has been there for metime and time again keeping me headed in the right direction.Andto the friends I made while at Intermix Media, Adam Wolk ov andDavid Higbee.This book was inspired by our many early morningcoffee and juice brainstorming sessions.Thankyou for igniting theinitials park to get this project startedSteven credits his wife Su Ok and daughter Sarah for suppo ringand inspiring his ongoing passion for software development and theresultant challenges of life near the bleeding edge.He would like tothank Tim Stewart and Edward Hab al who were his professionalmentors and to this day remain close frends.
Preface
Chapter1:SocialNetworking_
What makes this topic so important
Large communities
Niche communities
Once l have my own social network, then what?
Customer service
Content moderation
Growing infrastructure requirements
Our social network—Fish a roo
This book's approach
Problem
Design
Solution
Features of our social network
Accounts
Profiles
Friends
Messaging
Media galleries
Blogging
Messageboards
Groups
Comments
Tags
Ratings
Framework
Scaling up
Summary
TableofContents
778
Layers
Domain-driven Design
Ubiquitous language
Entities
Value objects
Services
Modules
Aggregates
Factories
Repositories
Model View Presenter pattern
Model
View
Presenter
How it works
Factory pattern using Structure Map
Repository pattern and LINQ
Wrappers for everything!
Configuration
Cache
Session
Redirection
Error handling and logging
Error handling
Logging
Summary
Chapter3:UserAccounts
Problem
Design
Registration
Accounts
Password strength
Terms and conditions
CAPTCHA
The Permissions table
The Account Permissions table
Creating the relationships
Setting up LINQ for the first time
A Data Context wrapper
Building repositories
The other repositories
Registration page
Email verification
Edit account
Manage prof le
Custom avatars
Gravatar
Custom homepage
The Profiles table
Level of Experience
The At tributo stable
The Privacy table
The Alerts table
Crea ing there lat on ships
Email conf rmation and verification
Security
Permissions
Password encryption/decryption
Logging in
Password reminder
Manage account
Solution
Implementing the database
The Accounts table
The Terms table
Implementing the data access layer
Implementing the services/application layer
Ex lens ion methods
Implementing the business/domain layer
Implementing the presentation layer
Model view presenter
Password recovery
Implementing security
Summary
Chapter4:UserProfiles
Problem
Design
Profile
Avatar
Public profile
Privacy
Newsfeed
Solution
Implementing the database
Set tng up the data access layer
Building repositories
Searching for a Friend
Inviting a Friend
Importing Friends from Exte mal Sources
Sending an Invitation
Adding Fri cnd Alerts to The Filt or
Vic wing Your Fri c nds
Managing your friends
Following Your Friends
Providing Status Updates to Your Friends
The Friends Table
Friend Invita ions
Status Updates
Crea ing the Relationships
Building Repos it or ics
Friend Service
Alert Service
Privacy Service
Searching for Friends
Invite Your Friends
Outlook CSV Importer
Con irm Friendship
Show Friends
Friends on Profile
Status Updates
Message Recipients
Creat ng the relationships
Bull ding repositories
Message Service
Alert Service
Friend Service
Default(or Inbox)
Read message
Files
Filesystem folders
Filetypes
Folders
Folder types
Account folders
Account files
Implementing the services/application layer
Profile Service
Account service
Privacy seve
Alert service
Profile Attribute Service
Implementing the presentation layer
Privacy
Manage prof le
Avatar
Public pro ile
Newsfeed
Summary
Chapter5:Friends
Problem
Design
Friends
Finding Friends
Interacting With Your Friends
Solution
Implementing the Database
Seting Up the Data Access Layer
Implementing the Services/Application Layer
Implementing the Presentation Layer
Summary
Chapter6:Messaging_
Problem
Design
Messages
Recipients
Solution
Implementing the database
Messages
Setting up the data access layer
Implementing the services/application layer
Implementing the presentation layer
New message
Summary
Chapter7:MediaGalleries
Problem
Design
Files
Folders
Fileupload
Filesystem management
Data management screens
Solution
Implementing the database
Creating the relationships
Setting up the data access layer
Building repositories
Creating the relationships
Building repositories
Alert Service
Latest blog posts
My blog posts
Fancy URL support
View post
C reale or edit post
Categories
Forums
Posts
Creating the Relationships
Building Repositories
Board Service
Alert Service
Del ault.aspx
Redirector
Url Rewrite
View Forum.aspx
vew Post aspx
Pos Las px
Groups
Group Members
Group Types
Group Forums
Crea ing the relationships
Building repositories
Group Repository
Group To Group Type Repository
Group Forum Repository
Group Member Repository
Group Type Repository
Account Repository
Get Accounts To Approve By GroupID
Group Service
Alert Service
Redirector
Web Context
Manage Group
Default
Url Rewrite
Implementing the services/application layer
Folder Service
Implementing the presentation layer
Fileupload
Photo albums
Summary
chapter8:Blogs
Problem
Design
Blogs
Solution
Implementing the database
Blogs
Setting up the data access layer
Implementing the services/application layer
Implementing the presentation layer
Summary
Chapter9:MessageBoards
Problem
Design
Categories
Forums
Threads and Posts
Friendly URLs
Alerts
Solution
Implementing the Database
Setting Up the Data Access Layer
Implementing the Services/Application layer
Implementing the Presentation Layer
Summary
Chapter10:Groups
Problem
Design
Groups
Group Members
Group Types
Group Forums
Schema
Solution
Implementing the database
Set tng up the data access layer
Implementing the services/application layer
Implementing the presentation layer
Members
Forum enhancements
Summary
Rang s
Chapter11:Comments.Tags, and Ratings
Problem
Ratings
Tagging
Commenting
Design
Ratings
Tags
Comments
Solution
Implementing the database
Implementing the services/application layer
System object rating options
Tags
System object tags
Comments
Creating the relationships
Setting up the data access layer
Building repositories
Rating Repository
System Object Rating Option Repository
Tag Repository
System ObjeclTagReposilory
Comment Repository
Tag Service
Extensions
Web Context
Configuration
Implementing the presentation layer
Comments Page
Ra lings Page
Tags Page
Installing the new user controls
Ur