Search Results

Search found 89372 results on 3575 pages for 'code migration'.

Page 593/3575 | < Previous Page | 589 590 591 592 593 594 595 596 597 598 599 600  | Next Page >

  • How to refactor a method which breaks "The law of Demeter" principle?

    - by dreza
    I often find myself breaking this principle (not intentially, just through bad design). However recently I've seen a bit of code that I'm not sure of the best approach. I have a number of classes. For simplicity I've taken out the bulk of the classes methods etc public class Paddock { public SoilType Soil { get; private set; } // a whole bunch of other properties around paddock information } public class SoilType { public SoilDrainageType Drainage { get; private set; } // a whole bunch of other properties around soil types } public class SoilDrainageType { // a whole bunch of public properties that expose soil drainage values public double GetProportionOfDrainage(SoilType soil, double blockRatio) { // This method does a number of calculations using public properties // exposed off SoilType as well as the blockRatio value in some conditions } } In the code I have seen in a number of places calls like so paddock.Soil.Drainage.GetProportionOfDrainage(paddock.Soil, paddock.GetBlockRatio()); or within the block object itself in places it's Soil.Drainage.GetProportionOfDrainage(this.Soil, this.GetBlockRatio()); Upon reading this seems to break "The Law of Demeter" in that I'm chaining together these properties to access the method I want. So my thought in order to adjust this was to create public methods on SoilType and Paddock that contains wrappers i.e. on paddock it would be public class Paddock { public double GetProportionOfDrainage() { return Soil.GetProportionOfDrainage(this.GetBlockRatio()); } } on the SoilType it would be public class SoilType { public double GetProportionOfDrainage(double blockRatio) { return Drainage.GetProportionOfDrainage(this, blockRatio); } } so now calls where it used would be simply // used outside of paddock class where we can access instances of Paddock paddock.GetProportionofDrainage() or this.GetProportionOfDrainage(); // if used within Paddock class This seemed like a nice alternative. However now I have a concern over how would I enforce this usage and stop anyone else from writing code such as paddock.Soil.Drainage.GetProportionOfDrainage(paddock.Soil, paddock.GetBlockRatio()); rather than just paddock.GetProportionOfDrainage(); I need the properties to remain public at this stage as they are too ingrained in usage throughout the code block. However I don't really want a mixture of accessing the method on DrainageType directly as that seems to defeat the purpose altogether. What would be the appropiate design approach in this situation? I can provide more information as required to better help in answers. Is my thoughts on refactoring this even appropiate or should is it best to leave it as is and use the property chaining to access the method as and when required?

    Read the article

  • Google I/O 2012 - YouTube Channels: Get with the Program!

    Google I/O 2012 - YouTube Channels: Get with the Program! Dror Shimshowitz, AJ Crane YouTube allows anyone to distribute videos to 800m web, mobile and TV viewers around the world. Come learn how to leverage this powerful platform to build an audience and market your products. We'll walk you through tips and techniques for building, programming, and promoting your very own YouTube channel. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 0 0 ratings Time: 53:11 More in Science & Technology

    Read the article

  • Google Maps Developers Live: Mapping with Style

    Google Maps Developers Live: Mapping with Style Compelling and informative map visualizations require simple, yet useful, maps... and some beautiful data. For this episode of Google Maps Developers Live, Paul Saxman discusses how he designed a few of his favorite map styles, and shares a few of his tools and techniques for designing maps for visualizations. From: GoogleDevelopers Views: 0 0 ratings Time: 30:00 More in Education

    Read the article

  • BSEtunes

    BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application

    Read the article

  • Create simple jQuery plugin

    - by ybbest
    In the last post, I have shown you how to add the function to jQuery. In this post, I will show you how to create plugin to achieve this. 1. You need to wrap your code in the following construct, this is because you should not use $ directly as $ is global variable, it could have clash with some other library which also use $.Basically, you can pass in jQuery object into the function, so that $ is made available inside the function. (JavaScript use function to create scope, so you can make sure $ is referred to jQuery inside the function ) (function($){ //Your code goes here. }; })(jQuery); 2. Put your code into the construct above. (function ($) { $.getParameterByName = function (name) { name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regexS = "[\\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.search); if (results == null) return ""; else return decodeURIComponent(results[1].replace(/\+/g, " ")); }; })(jQuery); 3. Now you can reference the code into you project and you can call the method in you JavaScript References: Provides scope for variables Variables are scoped at the function level in javascript. This is different to what you might be used to in a language like C# or Java where the variables are scoped to the block. What this means is if you declare a variable inside a loop or an if statement, it will be available to the entire function. If you ever find yourself needing to explicitly scope a variable inside a function you can use an anonymous function to do this. You can actually create an anonymous function and then execute it straight away and all the variables inside will be scoped to the anonymous function: (function() { var myProperty = "hello world"; alert(myProperty); })(); alert(typeof(myProperty)); // undefined How does an anonymous function in JavaScript work? Building Your First jQuery Plugin A Plugin Development Pattern

    Read the article

  • Dartisans ep 12 - Dart and Web Components

    Dartisans ep 12 - Dart and Web Components Ask and vote for questions: developers.google.com Web Components are ushering in the "declarative renaissance" for modern web development. Watch this episode of Dartisans to learn how you can build Web Components with Dart, and compile them into JavaScript to run across the modern web. From: GoogleDevelopers Views: 0 0 ratings Time: 00:00 More in Science & Technology

    Read the article

  • Hangouts API v1.1 Walkthrough

    Hangouts API v1.1 Walkthrough Introduction to 3 new features in v1.1 of the Hangouts API. This release introduces the ability for your app to respond to face movements in real time. It also provides a new overlay positioned relative to the video feed, new low-latency messages, Hangouts on Air support, the ability to enter any OAuth scope, and a few other miscellaneous features. From: GoogleDevelopers Views: 4425 0 ratings Time: 01:14 More in Science & Technology

    Read the article

  • Google I/O 2012 - High Performance HTML5

    Google I/O 2012 - High Performance HTML5 For years we built web apps that far outpaced the capabilities of the browsers they ran in. Just as the browsers were catching up HTML5 came on the scene - video and audio, canvas, SVG, app cache, localStorage, @font-face, and more. Now the browsers are racing to stay ahead of the wave that's building as developers adopt these new capabilities. Is your HTML5 app going to ride the wave or be dashed on the rocks leaving users stranded? Learn which HTML5 features to seek out and which to avoid when it comes to building fast HTML5 web apps. This session will be live captioned. From: GoogleDevelopers Views: 91 1 ratings Time: 01:02:07 More in Science & Technology

    Read the article

  • EXIF Compare Utility using WPF

    The Exif Compare Utility is a WinDiff equivalent for image files that compares the Exif meta-data and displays the differences and similarities. The application is written using WPF and MVVM.

    Read the article

  • More Than a Map - Computerlogy

    More Than a Map - Computerlogy In Bangkok, Thailand we met with the co-founder of Computerlogy, Vachara Aemavat. Computerlogy is a Google Maps API development shop. Among their many great projects, they have built a great store locator for Siam Commercial Bank and a viral maps app that helps people find high ground during the Thai flood seasons. Read more on morethanamap.com #morethanamap From: GoogleDevelopers Views: 60 4 ratings Time: 02:04 More in Science & Technology

    Read the article

  • Google I/O 2012 - Not Just a Map

    Google I/O 2012 - Not Just a Map Josh Livni, Nabil Naghdy The Google Maps API is the most popular mapping platform in the world, but it offers developers and users so much more than just a map. In this session we'll review the wealth of additional value that the Maps API has to offer, and the essential features that developers should be aware of across a number of verticals, including real estate, travel, and retail. For all I/O 2012 sessions, go to developers.google.com From: GoogleDevelopers Views: 694 0 ratings Time: 50:50 More in Science & Technology

    Read the article

  • GDL Presents: Internet Freedom and the ITU

    GDL Presents: Internet Freedom and the ITU This week, the world's governments are gathering in Dubai to discuss the future of the Internet. Some governments want to use this meeting to increase censorship and regulate the Internet. Hear from one of the advocacy groups that's been leading efforts in opposition, and what threats may be around the corner in 2013. From: GoogleDevelopers Views: 0 1 ratings Time: 01:00:00 More in Science & Technology

    Read the article

  • Experiments in Big Data Visualization on Maps

    Experiments in Big Data Visualization on Maps Brendan Kenny and Mano Marks continue their series on using the CanvasLayer library and HTML5 APIs to visualize large amounts of data on top of Google maps. This week they look at loading Shapefiles and KML directly in the browser and using WebGL to render their content over a map. From: GoogleDevelopers Views: 0 1 ratings Time: 00:00 More in Science & Technology

    Read the article

< Previous Page | 589 590 591 592 593 594 595 596 597 598 599 600  | Next Page >