Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by David Cooksey on Apr 08, 2011
Steve Sanderson recently introduced MVC Scaffolding, a customizable code generation tool for ASP.NET MVC 3. MVC Scaffolding uses a simple command-line interface to automatically generate code based on templates. Standard templates allow for automated generation of many common elements, including Views, Actions, and Unit Test stubs.
The MVC Scaffolding Beta is available through the free NuGet package management tool. It can be installed through the Package Manager Console window via Install-Package MvcScaffolding. Once installed, the Get-Scaffolder command will display all available scaffolders. A scaffolder is a PowerShell script and a set of T4 templates that define how the code generation works. Scaffolder name aliases can be set or viewed using Set-DefaultScaffolder and Get-DefaultScaffolder.
The Controller scaffolder will automatically generate Create, Read, Update, and Delete views for a model with an accompanying controller and data context. View scaffolders exist for both webforms and Razor view engines. Basic validation is included, so fields with non-nullable types will be required in the generated views. A repository can optionally be created via the –Repository flag. This will generate a repository class and interface based on the model and also creates a controller that acts only on the interface. Other parameters include ControllerName, ModelType, Project, CodeLanguage, DbContextType, Area, Layout, Force, and NoChildItems.
Actions can be generated via the Scaffold Action command. This will create a method for the action on the indicated controller and will also make a view for the action. The WithViewModel switch will create a ViewModel class specific to the action and wire it up inside the controller and the generated view. The Post flag will generate a method stub for handling an Http post from the action.
The Scaffold UnitTest command can create test stubs for both Actions and post-handling Actions. Optional parameters include WithViewModel and ViewModel, which set the test stub up to use the specified model type. The ActionWithUnitTest scaffolder combines the functionality of the Action and UnitTest scaffolders into a single command.
Views, database contexts, actions, repositories, and Unit Test stubs also have their own scaffolders, and more are being added as development continues.
Templates can be overridden using the CustomTemplate scaffolder. This will generate an editable T4 template in the CustomTemplate folder. Templates in this folder are always chosen over standard templates of the same name.
ASP.NET MVC 3 is a .NET framework for building web applications using the Model-View-Controller pattern. In this pattern the Model represents the data, the View represents a particular display of the model, and the Controller adjusts the Model and View based on input from the user. A ViewModel may be used to pass only necessary data to the view.
Automating Error Reporting for .NET Applications
Visual Studio vNext: ALM features for Agile Planning, Team Collaboration
Troubleshoot Java/.NET performance while getting full visibility in production
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply