Our refactoring critiques instantly visualize your programming performances, showing you what states you were in (failing tests, passing tests, etc.), refactorings you implemented, compilation errors you had, the duration of your work, how you scored and what our expert feedback system found was missing from your performance.
Patterns gurus Joshua Kerievsky & Brian Foote show you how to improve your software by favoring delegation over inheritance.
Let the good designs roll!
Watch our experts efficiently explain models, demonstrate tools and solve exercises.
Like a good pop song, every video we make holds your attention and gets you into a better development rhythm.
No other eLearning system on the planet matches our discussion forums, woven throughout every album.
Ask questions, get expert replies, read and weigh in on fascinating discussion threads from a global audience.
|Inside Volume Two ← Click to Preview||3|
|The Duh Test||4|
|What's in a Name?||5|
|Essence of the Composite Pattern ← Click to Preview||8|
|The One/Many Distinction||9|
|Refactoring A One/Many Distinction||10|
|JUnit: A Classic Composite||12|
|XML: A Natural Composite||13|
|Know Your Composites||14|
|HTML is a Natural Composite||16|
|Download, Build & Test Instructions||17|
|Unnecessary Conditional Logic||18|
|Why Do We Love Builders?||24|
|Complicated, Repetitive and Verbose Composite Construction||25|
|Building Different Products Using Identical Construction Steps||29|
|Builder: The Players||30|
|Decoupling Construction Logic With A Builder||31|
|Interpreter: The Essence||35|
|The Interpreter Pattern is Not About Parsing||36|
|Interpreter: The Players||37|
|Introduction ← Click to Preview||39|
|Critiquing Your Performance||44|
|Download and Setup Instructions||45|
|Upload Your Exercise||46|
|A Graph of Your Refactoring & Testing Activity||47|
|Your Critique Results||48|
|Your Customized Feedback||49|
|Expression Interpreter Problem||53|
|How to Construct Expressions||54|
|Things to Test||57|
|Download and Setup Instructions||59|
|Expression Interpreter Solution||60|
|Pretty Printer Solution||61|
|Chain of Responsibility||63|
|Essence of the Chain of Responsibility||64|
|Mike to the Rescue||66|
|Meet Mike the Scalper ← Click to Preview||67|
|Mike's Supply Chain||68|
|The Buck Stops Here||69|
|What Could Go Wrong||71|
|Null Anchor Example||72|
|Too Many Null Checks!||75|
|Null Object To The Rescue!||76|
|When Is A Null Object Unnecessary?||77|
|Null Object Players ← Click to Preview||78|
|Much Ado About Nothing||79|
|Abstract Windowing Toolkit Example of Bridge||82|
|MFC Example of Bridge ← Click to Preview||83|
|Adapter: The Essence||86|
|Adapter: The Players||87|
|Adapter: The Quiz||90|
|In Need Of An Adapter ← Click to Preview||92|
|Choosing A Preferred Interface||93|
|Problem Source Code||94|
|Critiquing Your Performance||96|
|Download, Build & Test Instructions||97|
|Upload Your Exercise||98|
|A Graph of Your Refactoring & Testing Activity||99|
|Your Critique Results||100|
|Your Customized Feedback||101|
|Solution Video Step 1: Extract Interface ← Click to Preview||102|
|Solution Video Step 2: Extract Class||103|
|Solution Video Step 3: Move Method||104|
|Solution Video Step 4: Implement Interface||105|
|Solution Video Step 5: Pull Up Fields & Methods||106|
|Decorator: The Players||112|
|How JUnit Avoided Featuritis||113|
|Patterns and Players Quiz||114|
|A Problem to Solve||116|
|Decoding Character References||117|
|Problem Source Code||118|
|Download, Build & Test Instructions||120|
|Solution Source Code||122|
|Proxy: A Stand-In for Another Object||125|
|Proxy: The Players||126|
|Proxies Do Computational Chores||127|
|A Problem to Solve||133|
|Problem Source Code||134|
|Download, Build & Test Instructions||136|
|Solution Source Code||137|
|Alternative Solution Source Code||138|
You can use whatever developments tools you prefer. If you do use an IDE (Integrated Development Environment), many (though not all) of our labs come with projects pre-configured for Eclipse, IntelliJ and Visual Studio.
Speakers or headphones are required for our videos.
Flash is required to view charts or watch videos — download for free.
In today's competitive environment, Industrial Logic aims to meet the needs of business customers not only by delivering world-class eLearning but also by providing a high degree of flexibility. Whether your organization is a startup, small- or medium-size business, or a large global enterprise, you benefit as a corporate customer from significant discounts.
Industrial Logic will tailor our volume licensing agreement to meet the needs of your specific organization, whether you consolidate your organization's purchases into one comprehensive transaction or spread your purchases out over a scheduled period of time. The more you order, the greater your savings.
To speak to a dedicated Account Manager today, please contact us.