Archive

The 'Week of PostSharp' is a joint promotion with Manning Publications where we highlight a new book each day that is special to us and hand-picked by the PostSharp team – with a small introduction about how it connects to what we are doing. We also collaborated with Manning to select a second book for each day of the week, and will be offering our choices at a 50% discount on their site! You can even read excerpts from some of the books online for free by clicking on the links below.

We hope you enjoy the deals! We’ll be adding new posts with the daily discount code throughout the week, so stay tuned.

There are times when OOP won’t let us achieve a nice separation of concerns (assembly > namespace > class > method). Think of INotifyPropertyChanged, logging, performance monitoring, transaction handling, undo/redo, caching… Way too often, we have to duplicate tons of infrastructure code. This is why aspect-oriented programming (AOP) has been engineered. With AOP, you can encapsulate cross-cutting features into a special class called an aspect, and apply the aspect to a large number of classes or methods without actually modifying your business source code. As a result, you get rid of most of your boilerplate.

PostSharp has long been the most complete and the most popular AOP framework for .NET but PostSharp is not limited to AOP, and AOP is not limited to .NET. Today we’re recommending two books: AOP in .NET, which gives you an excellent introduction to AOP not only using PostSharp, and AspectJ in Action, whose outstanding quality makes it a must-read for anyone interested in aspect-oriented programming and offers deep insights that are directly applicable to PostSharp. You can now purchase these books with a 50% discount using the discount code pswkd2! But hurry, the offering is only valid until August 21st 12 midnight EST!

AOP in .NET introduces aspect-oriented programming and provides guidance on how to get the most practical benefit from this technique. The book's many examples concentrate on modularizing non-functional requirements that often sprawl throughout object-oriented projects. You'll appreciate its straightforward introduction using familiar C#-based examples.

Download Free Chapter (PDF)   |   Purchase with 50% discount using the discount code pswkd2

 

AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications.

Download Free Chapter (PDF)   |   Purchase with 50% discount using the code pswkd2

 

The 'Week of PostSharp' is a joint promotion with Manning Publications where we highlight a new book each day that is special to us and hand-picked by the PostSharp team – with a small introduction about how it connects to what we are doing. We also collaborated with Manning to select a second book for each day of the week, and will be offering our choices at a 50% discount on their site! You can even read excerpts from some of the books online for free by clicking on the links below.

We hope you enjoy the deals! We’ll be adding new posts with the daily discount code throughout the week, so stay tuned.

Back in the 50s, programmers had a very hard time delivering even the simplest features because they had to work at a very low level of abstraction. There was nothing as a variable, field or parameter – just registry or memory cells. After decades of advances in compiler and runtime technologies, people barely think about memory management anymore.

Today, the industry is facing the same issue with multithreading. It is the use of low-level synchronization mechanisms that causes the notorious complexity of multithreaded applications. As in the 50s, we need to raise the level of abstraction to get back into productivity. At PostSharp, we believe design patterns, such as READER-WRITER SYNCHRONIZED OBJECT or ACTOR, can give us a better model for multi-core development. That’s why we build PostSharp Threading Pattern Library: a library of ready-made implementations of multithreading design patterns that you can use in your applications, today.

Obviously, we aren’t the only one trying to improve multithreading programming. The async/await feature of C# 5.0 makes it incredibly easier to write asynchronous code, but it does not address the issue of thread safety. Functional programming does address the thread safety issue at the cost of a paradigm shift.

Learn more about these technologies in today’s books which you can now purchase with 50% discount - but hurry, the offering is valid only until August 20th, 12 midnight EST:

 

C# in Depth, Third Edition updates the best selling second edition to cover the new features of C# 5, including the challenges of writing maintainable asynchronous code. It preserves the uniquely-insightful look into the tricky areas and dusty corners of C# that only expert Jon Skeet can provide. In this third edition, you'll see the subtleties of C# programming in action, learning how to work with high-value features that you'll be glad to have in your toolkit. The book helps readers avoid hidden pitfalls of C# programming by providing crystal-clear explanations of "behind the scenes" issues.

Download Free Chapter (PDF)   |   Purchase with 50% discount using the following code: pswkd1

 

The book Real-World Functional Programming teaches the ideas and techniques of functional programming applied to real-world problems. You'll see how the functional way of thinking changes the game for .NET developers. Then, you'll tackle common issues using a functional approach. The book will also teach you the basics of the F# language and extend your C# skills into the functional domain. No prior experience with functional programming or F# is required.

Download Free Chapter (PDF)   |   Purchase with 50% discount using the following code: pswkd1