Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready - Refactoring Notification[MP4] [0:10:55] [2009/09/12]
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready –Refactoring Notification
The circular dependency problem between Pages and Users is due to each class implementing part of a larger…
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready - Overview[MP4] [0:02:29] [2009/09/12]
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready -Overview
We’re now on the ninth installment of Extreme ASP.NET Makeover. In part 8, we discovered that the ScrewTurn Wiki codebase…
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready - Dependency[MP4] [0:07:12] [2009/09/12]
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready –Dependency
As we saw, the Host class delegates to a whole host of Singletons (bad pun intended), including Settings, Users, Pages,…
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready - Host Users Dependency Cycle[MP4] [0:01:21] [2009/09/12]
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready –Host Users Dependency Cycle
Going Around in Circles
We successfully refactored away Host’s dependency on Settings.Instance by…
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready - Circular Dependency Cycle[MP4] [0:01:45] [2009/09/12]
Extreme ASP.NET Makeover: Mr. Escher, Your Software is Ready –Circular Dependency Cycle
The only reason for Users to reference Host is to raise events on behalf of the Users class. We can quickly…
Extreme ASP.NET Makeover: Disentangling Our Tangled Web-Overview - Overview[MP4] [0:09:45] [2009/09/01]
We’re now on the eighth installment of Extreme ASP.NET Makeover. In part 7, we examined the singleton pattern and refactored away the AuthChecker singleton. AuthorizationServices, which previously…
Extreme ASP.NET Makeover: Disentangling Our Tangled Web-Overview - Refactoring[MP4] [0:14:56] [2009/09/01]
A Topsy-Turvy World
The constructor signature for AuthorizationChecker now looks like this:
public AuthorizationChecker(
ISettingsStorageProviderV30 settingsProvider,
IAuthTools…
Extreme ASP.NET Makeover: Singleton - Testability[MP4] [0:08:24] [2009/08/05]
Extreme ASP.NET Makeover: Death of a Singleton-Testability
He’s Liked, But He’s Not Well Liked
If the current code works, why do we need to get rid of the singleton? What harm is it doing? After…
Extreme ASP.NET Makeover: Singleton - AuthChecker Class[MP4] [0:01:33] [2009/08/05]
Extreme ASP.NET Makeover: Death of a Singleton-AuthChecker Class
I’ve Got Some Seeds, Right Away
So where should we start? How about the AuthChecker class, since that’s what we’ve discussed…
Extreme ASP.NET Makeover: Singleton - Refactoring[MP4] [0:07:35] [2009/08/05]
Extreme ASP.NET Makeover: Death of a Singleton-Refactoring
Now that we have a new class, complete with functionality, we can start to refactor other parts of the application to use it instead of…
Extreme ASP.NET Makeover: Singleton - Overview[MP4] [0:08:31] [2009/08/05]
Extreme ASP.NET Makeover: Death of a Singleton-Overview
Let’s review one of the changes we made to the code in part 6. In that discussion, we refactored the authorization checking into a separate…
Extreme ASP.NET Makeover: SoC - Principles to Practice[MP4] [0:15:45] [2009/07/11]
Extreme ASP.NET Makeover: Separation of Concerns – Principles to Practice
When looking at the code, the first thing that our attention was drawn to was the repetitive nature of the…
Extreme ASP.NET Makeover: SoC - The Big Picture[MP4] [0:11:13] [2009/07/11]
Extreme ASP.NET Makeover: Separation of Concerns – The Big Picture
Let’s summarize what we’ve done. We removed code from Page_Load using cut and paste, and we created two new classes. It…
Extreme ASP.NET Makeover: SoC - Overview[MP4] [0:04:10] [2009/07/11]
Extreme ASP.NET Makeover: Separation of Concerns - Overview
Separation of concerns is a concept that, when applied to software development, deals with creating distance between dissimilar…
Extreme ASP.NET Makeover: jQuery - jQuery UI Themes in ScrewTurn Wiki[MP4] [0:04:57] [2009/06/06]
So I got to thinking. It is hard to create ScrewTurn Wiki Themes. It is dead easy to create jQuery UI Themes. Could jQuery UI Themes be adapted to theme ScrewTurn Wiki? I decided to find out and it…
Extreme ASP.NET Makeover: jQuery - Applying ThemeRoller to ScrewTurn Wiki[MP4] [0:03:16] [2009/06/06]
Take a look at the final result, shown below, of switching the selected theme to UI Lightness and UI Darkness, which are the unmodified jQuery UI Themes added to ScrewTurn Wiki’s /Themes folder.…
Extreme ASP.NET Makeover: jQuery - Improving User Interaction[MP4] [0:13:26] [2009/06/06]
Improving User Interaction
Imagine the following scenario: With the assistance of the CSS Refactoring Helper, we have created an aesthetically pleasing XHTML/CSS-based site. We have spent days—nay,…
Extreme ASP.NET Makeover: jQuery - jQuery UI In ScrewTurn Wiki[MP4] [0:04:14] [2009/06/06]
Integrating jQuery UI into ScrewTurn Wiki
You’ve probably already guessed that ScrewTurn Wiki has an ugly confirmation dialog somewhere. The place to find it is in Edit.aspx. Simply log in as the…
Extreme ASP.NET Makeover: jQuery - Re-Theming ScrewTurn Wiki[MP4] [0:03:02] [2009/06/06]
Re-Theming ScrewTurn Wiki
ScrewTurn Wiki ships with two themes – Default and Elegant, as shown above. The themes reside in the Theme folder and consist of a set of Cascading Style Sheets and…
Extreme ASP.NET Makeover: Script - Refactoring ScrewTurn Wiki JavaScript[MP4] [0:02:14] [2009/06/05]
Refactoring ScrewTurn Wiki’s JavaScript
The first step in refactoring ScrewTurn Wiki’s JavaScript is to extract it into separate JavaScript files. Not only will this allow us to test the…
Extreme ASP.NET Makeover: Script - jQuery IntelliSense[MP4] [0:07:37] [2009/06/05]
ASIDE: jQuery IntelliSense
jQuery IntelliSense can be enabled in Visual Studio 2008 SP1 with a
supported hotfix from Microsoft as detailed by Scott Guthrie’s
blog . Watch the following video…
Extreme ASP.NET Makeover: Script - jQuery SoC[MP4] [0:03:36] [2009/06/05]
Separating Your Concerns with jQuery
In your typical Web page, JavaScript is often found liberally sprinkled throughout the HTML. Little snippets of inline code in event handlers to catch clicks,…
Extreme ASP.NET Makeover: Style - XHTML Strict[MP4] [0:08:52] [2009/06/05]
Strictly Speaking
ScrewTurn Wiki is written using XHTML 1.0, which we can determine by looking at the DOCTYPE declaration in MasterPage.master:
<!DOCTYPE html PUBLIC "-//W3C//DTD…
Extreme ASP.NET Makeover: Style - CSS Zen Garden[MP4] [0:05:05] [2009/06/05]Between the mangled id and name attributes on tags, base64-encoded viewstate, and server-side control magic, ASP.NET Web Forms has not traditionally encouraged developers to delve into the fundamental…
Extreme ASP.NET Makeover: Script - Testing JavaScript[MP4] [0:06:53] [2009/06/05]
Lingua Franca of the Programmable Web
JavaScript is the lingua franca of Web programming languages. It doesn’t matter whether you’re programming in .NET, Ruby, Python, PHP or a myriad of other…
Extreme ASP.NET Makeover: Style - Visual Studio Validation[MP4] [0:02:38] [2009/06/05]
There are some easy things that you can do to increase the likelihood that your Web application will work across browsers. Modern browsers are designed to render HTML 4.01 and XHTML 1.0/1.1, but…
Extreme ASP.NET Makeover: Style - Comparing HTML and XHTML[MP4] [0:02:28] [2009/06/05]
HTML/XHTML - Toe-MAY-toe/Toe-MA-toe
So what about this XHTML thing I keep writing about? What exactly is XHTML and how is it different from HTML? According to the W3C, XHTML 1.0 is "a…
Extreme ASP.NET Makeover: Testing - Eliminating Repetition from Tests[MP4] [0:01:26] [2009/06/05]
Eliminating Repetition from Tests
You'll notice a lot of potential for repetition in the CanLogIntoSite test.
· Every WatiN test will have a URL starting with http://localhost:9999.
· Many…
Extreme ASP.NET Makeover: Testing - Acceptance Tests[MP4] [0:01:30] [2009/06/05]
Acceptance Tests
Acceptance tests using WatiN are simply longer versions of smoke tests. The following shows an acceptance test to verify that we can create a new page in our wiki.
[Test]
public…
Extreme ASP.NET Makeover: Style - W3C XHTML Validation[MP4] [0:02:30] [2009/06/05]
Embracing the Web
ASP.NET Web Forms goes out of its way to protect you from the big, bad old Web. A world of HTML, CSS, and JavaScript all served up over HTTP. A world where state is ephemeral and…
Extreme ASP.NET Makeover: Getting Your House in Order - Cmd Line Build[MP4] [0:01:53] [2009/06/05]
Let me give you a very brief introduction to MSBuild. In MSBuild terminology, build steps are called "targets." We will define three common targets initially: Clean, Init, and Compile. You…
Extreme ASP.NET Makeover: Testing - Of Tightropes and Tests[MP4] [0:02:02] [2009/06/05]
Of Tightropes and Tests
Applying a strong suite of automated tests provides a codebase with a safety net. Developers can modify code protected by tests in relative safety. Method implementations…
Extreme ASP.NET Makeover: Testing - Using WatiN[MP4] [0:02:41] [2009/06/05]
Using WatiN to Test a Local Web site
Now that we have successfully run a simple WatiN test against a remote Web site, we turn our attention to using WatiN to test ScrewTurn Wiki. We won't want to…
Extreme ASP.NET Makeover: Getting Your House in Order - Overview[MP4] [0:04:25] [2009/06/05]
I don’t have to remind everyone that we’re in the middle of a world-wide economic downturn. When the economy is good, it is hard enough to convince your client to re-build an application from…
Extreme ASP.NET Makeover: Getting Your House in Order - Source Control[MP4] [0:08:00] [2009/06/05]
Version Control
All software development projects should use a version control system (VCS) for tracking and coordinating changes to code files and other project artifacts. The size of the project…
Extreme ASP.NET Makeover: Getting Your House in Order - Inspecting a Proj File[MP4] [0:03:03] [2009/06/05]
Creating an Automated Build Script
In creating a build script, we want to automate common tasks for building the project source code as much as possible. Whether you know it or not, you are already…