One aspect of Angular that I love is it’s dependency injection. Contrary to some criticisms I’ve read, I find it is extremely flexible and powerful enough to address the demands of enterprise line of business apps. I discussed the general benefits of DI in Dependency Injection Explained
and specifically Angular’s implementation using Providers, Services, and Factories
and even aspect-oriented interception/decoration
. In this post, I address some other features common to advanced Inversion of Control containers, namely lazy-loading, lifetime management, and deferred creation/resolution. Lazy-Loading Lazy-loading simply refers to the late instantiation of objects when you
need them. Many dependency injection systems will build-up a component the first time it is recognized as a dependency, but in some cases you may not want to instantiate the component until later in the application lifetime. In Angular, the perfect example is when you are setting up a behavior in the configuration pass that references components that haven’t been created yet. Let’s assume you want to intercept the built-in $log service so that it stores entries on the $rootScope. I don’t recommend this but it works for a simple, contrived example. To intercept, you reference $provide in the configuration...(Read whole news on source site)
As many of you know, me and my new wife are having the trip of our life. We’re in Switzerland at the moment and having a great time. We are certainly learning as we go what is important and what is not. I thought it might be a fun chance to talk about the gear I’ve used so far and discuss what worked and what didn’t. As we travel, I am still working. I am recording Pluralsight
courses, working with clients, doing the Hello World Podcast
, as well as planning for some in-person training during the trip.
This means I not only need gear to enjoy the trip but to work as well. The Packing I think it’s important to see where we started and where we ended up. If you don’t know, this trip is a year-long trip across the globe. It’s seven or so months in Europe and five months in Asia. We don’t have a house to go back to so we’re carrying most of what we own (with a small storage place back in Atlanta). To complicate matters, we got married four days before the trip so it’s been pretty whirlwind....(Read whole news on source site)
AutoMapper is a productivity tool designed to help you write less repetitive code mapping code. AutoMapper maps objects to objects, using both convention and configuration. AutoMapper is flexible enough that it can be overridden so that it will work with even the oldest legacy systems. This post demonstrates what I have found to be 5 […]
The post 5 AutoMapper tips and tricks
appeared first on Developer Handbook
Microsoft's Azure team releases NoSQL document database-as-a-service accessible for devs looking to toward the cloud for app development/deployment, as well as a few other developer-friendly Azure tools.
We had a pretty serious outage last Thursday all told it was a little over 5 hours. The symptoms were that performance was so bad that the service was basically unavailable for most people (though there was some intermittent access as various mitigation steps were taken). It started around 14:00 UTC and ended a little before 19:30 UTC. This duration and severity makes this one of the worst incidents we’ve ever had on VS Online. We feel terrible about it and continue to be committed to doing everything we can to prevent outages. I’m sorry for the problems it
caused. The team worked tirelessly from Thursday through Sunday both to address the immediate health issues and to fix underlying bugs that might cause recurrences. As you might imagine, for the past week, we’ve been hard at work trying to understand what happened and what changes we have to make to prevent such things in the future. It is often very difficult to find proof of the exact trigger for outages but you can learn a ton by studying them closely. On an outage like this, there’s a set of questions I always ask, and they include:...(Read whole news on source site)
A comment on a Stack Overflow post recently got me delving into constants a bit more thoroughly than I have done before. Const fields I’ve been aware for a while that although you can specify decimal field as a const in C#, it’s not really const as far as the CLR is concerned. Let’s consider […]
When it comes to ensuring that code quality is high, methods and approaches vary by developer. The Visual Studio team would like to hear about the ways in which you ensure high code quality. Specifically, we are looking to developers building hybrid apps using Apache Cordova™ and/or developers building web apps, to provide feedback on their experiences through our anonymous survey. Your feedback will provide direct input to support changes in future versions of Visual Studio.
can take as little as 5 minutes to complete. When filling out the survey, please indicate if you would like to participate
in user studies. We are also looking for developers willing to speak with us in 30 minute feedback sessions about their experiences. When completing the survey you may also opt in to our survey sweepstakes* for a chance to win a $100 or $50 gift card.
Please pass this survey
on to other developers who you think may want to provide input as well.
Senior Program Manager, Visual Studio Client Platform Tools
The information you provide is entirely voluntary. If you do not wish to provide us with any information, please disregard this survey. By filling out and returning this survey,...(Read whole news on source site)
Happy Friday again! Here are more random, useful links I’ve come across over the last week. Typ.io
– nifty little tool for picking complimentary fonts! Just Say No to Justification
– Design for Hackers author David Kadavy talks about why justification works in some mediums, but also illustrates why you shouldn’t use it on the web. React.js
This is a great book that made me seriously re-evaluate how I view successful people. If you are a frequent commuter like me, the Audible rendition is very enjoyable. System.Web.Optimization.Less
– It is 2014. LESS should be everywhere. Unfortunately, the LESS story for ASP.NET MVC is pretty terrible. This package makes it a little better, but be warned, because it uses dotLess, many newer LESS features won’t work correctly. C# 6.0 Pattern Matching
– It took me a while to grok this new feature, but now that I understand it, I can see how it...(Read whole news on source site)
You can change the value of an attached property for a given control from code by using the SetValue or SetCurrentValue methods. You call these methods on the control that the property is attached to, passing in a reference to the property and the new value. (SetCurrentValue is preferred, to avoid overwriting a local value). Below, we set a […]