Search Results

Search found 16971 results on 679 pages for 'blogs'.

Page 501/679 | < Previous Page | 497 498 499 500 501 502 503 504 505 506 507 508  | Next Page >

  • Rendering My Fault Message

    - by onefloridacoder
    My coworkers setup  a nice way to get the fault messages from our service layer all the way back to the client’s service proxy layer.  This is what I needed to work on this afternoon.  Through a series of trials and errors I finally figured this out. The confusion was how I was looking at the exception in the quick watch viewer.  It appeared as though the EventArgs from the service call had somehow magically been cast back to FaultException(), not FaultException<T>.  I drilled into the EventArgs object with the quick watch and I copied this code to figure out where the Fault message was hiding.  Further, when I copied this quick watch code into the IDE I got squigglies.  Poop. 1: ((System 2: .ServiceModel 3: .FaultException<UnhandledExceptionFault>)(((System.Exception)(e.Result)).InnerException)).Detail.FaultMessage I wont bore you with the details but here’s how it turned out.   EventArgs which I’m calling “e” is not the result such as some collection of items you’re expecting.  It’s actually a FaultException, or in my case FaultException<T>.  Below is the calling code and the callback to handle the expected response or the fault from the completed event. 1: public void BeginRetrieveItems(Action<ObservableCollection<Model.Widget>> FindItemsCompleteCallback, Model.WidgetLocation location) 2: { 3: var proxy = new MyServiceContractClient(); 4:  5: proxy.RetrieveWidgetsCompleted += (s, e) => FindWidgetsCompleteCallback(FindWidgetsCompleted(e)); 6:  7: RetrieveWidgetsRequest request = new RetrieveWidgetsRequest { location.Id }; 8:  9: proxy.RetrieveWidgetsAsync(request); 10: } 11:  12: private ObservableCollection<Model.Widget> FindItemsCompleted(RetrieveWidgetsCompletedEventArgs e) 13: { 14: if (e.Error is FaultException<UnhandledExceptionFault>) 15: { 16: var fault = (FaultException<UnhandledExceptionFault>)e.Error; 17: var faultDetailMessage = fault.Detail.FaultMessage; 18:  19: UIMessageControlDuJour.Show(faultDetailMessage); 20: return new ObservableCollection<BinInventoryItemCountInfo>(); 21: } 22:  23: var widgets = new ObservableCollection<Model.Widget>(); 24:  25: if (e.Result.Widgets != null) 26: { 27: e.Result.Widgets.ToList().ForEach(w => widgets.Add(this.WidgetMapper.Map(w))); 28: } 29:  30: return widgets; 31: }

    Read the article

  • exception occurred for backend host '127.0.0.1/7001/7001': 'CONNECTION_REFUSED [os error=0, line 1715 of URL.cpp]: Error connecting to host 127.0.0.1:7001'

    - by Vijaya Moderator -Oracle
    When you hit the WLS Server via Proxy server, we may get the issue like below... [09/Jun/2014:06:05:50] failure ( 3284): for host 127.0.0.1 trying to GET /.../soundlink_wireless_​speaker/index.jsp, wl-proxy reports: exception occurred for backend host '127.0.0.1/7001/0': 'PROTOCOL_ERROR [line 835 of URL.cpp]: Backend Server not responding' [09/Jun/2014:06:05:50] failure ( 3284): for host 127.0.0.1 trying to GET /.../soundlink_wireless_​speaker/index.jsp, wl-proxy reports: exception occurred for backend host '127.0.0.1/7001/0': 'PROTOCOL_ERROR [line 835 of URL.cpp]: Backend Server not responding' [09/Jun/2014:06:05:51] failure ( 3284): for host 127.0.0.1 trying to GET /.../soundlink_wireless_​speaker/index.jsp, wl-proxy reports: exception occurred for backend host '127.0.0.1/7001/7001': 'CONNECTION_REFUSED [os error=0, line 1715 of URL.cpp]: Error connecting to host 127.0.0.1:7001' To solve the issue 1.  Check if there is any issue at the firewall by executing the below command     telnet 127.0.0.1 7001 2.  Also access  using the hostname instead of IP Address  If it errors out like below   Microsoft Telnet> o 127.0.0.1 7001 connecting to 127.0.0.1  Warning thrown at weblogic console: <BEA-000449> <Closing socket as no data read from it on 127.0.0.1:54,356 during the configured idle timeout of 5 secs>  Test the same again by disabling the firewall. Below are the steps... 1)Go to Start ----> Run  2)Type services.msc  3)In services.msc search for "Windows Firewall" and Right Click on "Windows Firewall"---->Select Stop. 4)Access the Weblogic URL  If the issue is resolved after disabling firewall, Request your  OS System Admin to open the port 7001 at the firewall end to access the application

    Read the article

  • Visit our Consolidated List of Mandatory Project Costing Code and Data Fixes

    - by SherryG-Oracle
    Projects Support has a published document with a consolidated listing of mandatory code and data fixes for Project Costing.  Generic Data Fix (GDF) patches are created by development to fix data issues caused by bugs/issues in the application code.  The GDF patches are released for download via My Oracle Support which are then referenced in My Oracle Support documents and by support to provide data fixes for known code fix issues.Consolidated root cause code fix and generic data fix patches will be superceded whenever any new version is created.  These patches fix a number of critical code and data issues identified in the Project Costing flow.This document contains a consolidated list of code and data fixes for Project Costing.  The note lists the following details: Note ID Component Type (code or data) Abstract Patch Visit DocID 1538822.1 today!

    Read the article

  • Oracle Linux Friday Spotlight - November 8, 2013

    - by Chris Kawalek
    Happy Friday, everyone! This week, I want to highlight a really wonderful resource, the Oracle Linux Wiki on wikis.oracle.com. You can find a lot of in-depth technical information there and it’s probably worthy of a bookmark to check in on occasionally. One of my favorite types of content on the wiki is the do it yourself hands on labs. We do these at in person events like Oracle OpenWorld and also online for our Virutal SysAdmin Days, and those are great because you can get real-time assistance if you have any questions. But, if you’re eager to learn more about Oracle Linux and don’t want to wait for one of those events, you can step through these labs in your own time. All of the information you need is on the wiki. We’ll see you next week! -Chris

    Read the article

  • Google Maps keeps displaying in Spanish

    - by Ken Hortsch
    Originally posted on: http://geekswithblogs.net/BlueProbe/archive/2013/11/12/154610.aspxIn Chrome I use Google Maps as a search provider.  That way I can just type maps for the URL address, hit a couple of tab keys, and enter the maps address and have the page rendered with my map.  Now periodically maps were displaying in Spanish with a "click here to translate to English” option.  Huh?  My language settings on the browser and within Google settings all were English.  Turns out I had set my Chrome search provider string to include a language query parm=es.  Why would I do that?  Evil twin perhaps.

    Read the article

  • OIM 11g - Multi Valued attribute reconciliation of a child form

    - by user604275
    This topic gives a brief description on how we can do reconciliation of a child form attribute which is also multi valued from a flat file . The format of the flat file is (an example): ManagementDomain1|Entitlement1|DIRECTORY SERVER,EMAIL ManagementDomain2|Entitlement2|EMAIL PROVIDER INSTANCE - UMS,EMAIL VERIFICATION In OIM there will be a parent form for fields Management domain and Entitlement.Reconciliation will assign Servers ( which are multi valued) to corresponding Management  Domain and Entitlement .In the flat file , multi valued fields are seperated by comma(,). In the design console, Create a form with 'Server Name' as a field and make it a child form . Open the corresponding Resource Object and add this field for reconcilitaion.While adding , choose 'Multivalued' check box. (please find attached screen shot on how to add it , Child Table.docx) Open process definiton and add child form fields for recociliation. Please click on the 'Create Reconcilitaion Profile' buttton on the resource object tab. The API methods used for child form reconciliation are : 1.           reconEventKey =   reconOpsIntf.createReconciliationEvent(resObjName, reconData,                                                            false); ·                                    ‘False’  here tells that we are creating the recon for a child table . 2.               2.       reconOpsIntf.providingAllMultiAttributeData(reconEventKey, RECON_FIELD_IN_RO, true);                RECON_FIELD_IN_RO is the field that we added in the Resource Object while adding for reconciliation, please refer the screen shot) 3.    reconOpsIntf.addDirectBulkMultiAttributeData(reconEventKey,RECON_FIELD_IN_RO, bulkChildDataMapList);                 bulkChildDataMapList  is coded as below :                 List<Map> bulkChildDataMapList = new ArrayList<Map>();                   for (int i = 0; i < stokens.length; i++) {                            Map<String, String> attributeMap = new HashMap<String, String>();                           String serverName = stokens[i].toUpperCase();                           attributeMap.put("Server Name", stokens[i]);                           bulkChildDataMapList.add(attributeMap);                         } 4                  4.       reconOpsIntf.finishReconciliationEvent(reconEventKey); 5.       reconOpsIntf.processReconciliationEvent(reconEventKey); Now, we have to register the plug-in, import metadata into MDS and then create a scheduled job to execute which will run the reconciliation.

    Read the article

  • Fusion Human Capital Management - Enterprise Grade Software As a Service

    Tune into this conversation with Anand Subbaraman, Senior Director of Product Strategy for Fusion HCM and Technology, to learn how Oracle is delivering offer a complete HCM SaaS application with single-vendor accountability. Unlike other vendors, which rely on other partners to complete their solutions, Oracle Fusion HCM includes integrated modules for HR, Payroll, Benefits, Compensation, Performance, along with industry-firsts such as Workforce Predictions, Network at Work, and Talent Review - all available on the Cloud.

    Read the article

  • Thank you for all partners that attended to our Specialization campaign in Denmark

    - by user12875760
    Oracle’s Specialization Program is a trusted status and brand, which allows our most experienced and committed partners to differentiate themselves in the marketplace and gain a competitive edge by spotlighting their strengths and special skills.Partners can choose where they want to specialize from a wide range of Specializations from Oracle’s growing product portfolio. Click here to read more.

    Read the article

  • Nimbuzz buzzes up their new users with Java ME tech

    - by hinkmond
    Nimbuzz is registering mobile users in the tens of millions now. It's partly because they rely on Java ME technology. Smart move! See: Nimbuzz buzzes w/Java ME Here's a quote: Nimbuzz allows users to meet, share and connect with family and friends, and is available across platforms such as [blah-blah-blah], BlackBerry and J2ME, as well as [yadda-yadda- yadda]... It's good to go with Java ME to get that sheer volume on handsets. Also helps to have "buzz" in your product name! Hinkmond

    Read the article

  • Java Magazine: Developer Tools and More

    - by Tori Wieldt
    The May/June issue of Java Magazine explores the tools and techniques that can help you bring your ideas to fruition and make you more productive. In “Seven Open Source Tools for Java Deployment,” Bruno Souza and Edson Yanaga present a set of tools that you can use now to drastically improve the deployment process on projects big or small—enabling you and your team to focus on building better and more-innovative software in a less stressful environment. We explore the future of application development tools at Oracle in our interview with Oracle’s Chris Tonas, who discusses plans for NetBeans IDE 9, Oracle’s support for Eclipse, and key trends in the software development space. For more on NetBeans IDE, don’t miss “Quick and Easy Conversion to Java SE 8 with NetBeans IDE 8” and “Build with NetBeans IDE, Deploy to Oracle Java Cloud Service.” We also give you insight into Scrum, an iterative and incremental agile process, with a tour of a development team’s Scrum sprint. Find out if Scrum will work for your team. Other article topics include mastering binaries in Maven-based projects, creating sophisticated applications with HTML5 and JSF, and learning to program with BlueJ. At the end of the day, tools don’t make great code—you do. What tools are vital to your development process? How are you innovating today? Let us know. Send a tweet to @oraclejavamag. The next big thing is always just around the corner—maybe it’s even an idea that’s percolating in *your* brain. Get started today with this issue of Java Magazine. Java Magazine is a FREE, bi-monthly, online publication. It includes technical articles on the Java language and platform; Java innovations and innovators; JUG and JCP news; Java events; links to online Java communities; and videos and multimedia demos. Subscriptions are free, registration required.

    Read the article

  • SQL Injection – Beyond the Basics - A good article

    - by TATWORTH
    At http://www.sqlmag.com/content1/topic/sql-injection-basics-142364/catpath/sql-server/utm_source/feedburner/utm_medium/feed, there is an excellent article on the measures needed to defeat SQL Injection Attack. Read the article but also remember that the account the application uses to access the database adhere to the following points:NEVER EVER use the sa account even in development.Route access via a role on the database.The account should have the minimum privilege required for the job.The account should have no access whatsoever to any other database not required by the application.If you can avoid mixed mode authentication do so and grant access via to a windows group to which you add users.

    Read the article

  • Maker Faire Report - Teaching Kids Java SE Embedded for Internet of Things (IoT)

    - by hinkmond
    I had a great time at this year's Maker Faire 2014 in San Mateo, Calif. where Jake Kuramoto and the AppsLab crew including Noel Portugal, Anthony Lai, Raymond, and Tony set up a super demo at the DiY table. It was a simple way to learn how Java SE Embedded technology could be used to code the Internet of Things (IoT) devices on the table. The best part of our set-up was seeing the kids sit down and do some coding without all the complexity of a Computer Science course. It was very encouraging to see how interested the kids were when walking them through the programming steps, then seeing their eyes light up when telling them, "You just coded a Java enabled Internet of Things device!" as the Raspberry Pi-connected devices turned on or started to move from their Java Embedded program. See: The AppsLab at Maker Faire It will be interesting to see how this next generation of kids grow up with all these Internet of Things devices around them and watch how they will program them. Hopefully, they will be using Java SE Embedded technology to do so. From the looks of it at this year's Maker Faire, we might have a bunch of motivated young Java SE Embedded coders coming up the ranks soon. Well, they have to get through middle school first, but they're on their way! Hinkmond

    Read the article

  • Independent Research on 1500 Companies Reveals Challenges in Performance Visibility – Part 1

    - by ndwyouell
    At the end of May I was joined by Professor Andy Neely of Cambridge University on a webinar, with an audience of over 700, to discuss the results of this extensive study which covered 13 countries and nearly every commercial and industrial sector.  What stunned both of us was not so much the number listening but the 100 questions they asked in just 1 hour.  This certainly represents a record in my experience and for those that organized the webinar. So what was all the fuss about?  Well, to begin with this was a pretty big sample and it represented organizations with over $100m sales across the USA, Europe, Africa and the Middle East. It also delivered some pretty interesting results across a wide range of EPM subjects such as profitability, planning and reporting.  Let’s look at some of those findings. We kicked off with profitability, one of the key factors in driving performance, or that is what you would think, but in fact 82% of our respondents said they did not have complete visibility into the profitability of their organization. 91% of these went further to say that, not surprisingly, this lack of knowledge into the profitability has implications with over half citing 3 or more implications.  Implications cited included misallocated resources, revenue opportunities not maximized, erroneous decisions made and impaired financial performance.  Quite a list of implications, especially given the difficult economic circumstances many organizations are operating in at this time. So why is this?  Well other results in the study point to some of the potential reasons.  Firstly 59% of respondents that use spreadsheets use them for monitoring profitability and 93% of all managers responding to the study use spreadsheets to gather and analyze information.  This is an enormous proportion given the problems with using spreadsheets based performance management systems that have been widely talked about for many years.  For profitability analysis this is particularly important when you consider the typical requirement will be to allocate cost and revenue across 6+ dimensions based on many different allocation methods.  Not something that can be done easily in spreadsheets plus it gets to be a nightmare once you want to change allocations, run different scenarios and then change the basis of your planning and budgeting! It is no wonder so many organizations have challenges in performance visibility. My next blog will look at the fragmented nature of many organizations’ planning.  In the meantime if you want to read the complete report on the research go to: http://www.oracle.com/webapps/dialogue/ns/dlgwelcome.jsp?p_ext=Y&p_dlg_id=10077790&src=7038701&Act=29

    Read the article

  • Microsoft Silverlight 4 Data and Services Cookbook &ndash; Book Review (sort of)

    - by Jim Duffy
    I just received my copy of the Microsoft Silverlight 4 Data and Services Cookbook, co-authored by fellow Microsoft Regional Director, Gill Cleeren, and at first glance I like what I see. I’ve always been a fan of the “cookbook” approach to technical books because they are problem/solution oriented. Often developers need solutions to solve specific questions like “how do I send email from within my .NET application” and so on, and yes, that was a blatant plug to my article explaining how to accomplish just that, but I digress. :-) I also enjoy the cookbook approach because you can just start flipping pages and randomly stop somewhere and see what nugget of information is staring up at you from the page. Anyway, what I like about this book is that it focuses on a specific area of Silverlight development, accessing data and services.  The book is broken down into the following chapters: Chapter 1: Learning the Nuts and Bolts of Silverlight 4 Chapter 2: An Introduction to Data Binding Chapter 3: Advanced Data Binding Chapter 4: The Data Grid Chapter 5: The DataForm Chapter 6: Talking to Services Chapter 7: Talking to WCF and ASMX Services Chapter 8: Talking to REST and WCF Data Services Chapter 9: Talking to WCF RIA Services Chapter 10: Converting Your Existing Applications to Use Silverlight As you can see this book is all about working with Silverlight 4 and data. I’m looking forward to taking a closer look at it. Have a day. :-|

    Read the article

  • New: StorageTek SL150 Modular Tape Library Guided Learning Paths

    - by Cinzia Mascanzoni
    Now Available – The StorageTek SL150 Modular Tape Library Guided Learning Paths (GLPs). In order to apply to distribute the StorageTek SL150, partners must meet the following criteria: Be a Gold, Platinum or Diamond member of the Oracle PartnerNetwork in good standing with a valid OPN Agreement. Have confirmed acceptance from Oracle into the StorageTek Tape Storage Knowledge Zone. Have a valid Full Use Distribution Agreement (FUDA) v041610 or later with Oracle, be in the process of applying for one, or have a valid addendum to your existing Full Use Distribution Agreement with current hardware terms. Have met the resale competency criteria (GLPs): a.) StorageTek SL150 Modular Tape Library Sales Specialist (2 completed) b.) StorageTek SL150 Modular Tape Library PreSales Specialist (1 completed).

    Read the article

  • Oracle’s Visual CRM Solution

    Visual CRM adds the powerful visualization and document centric collaboration capabilities of Oracle’s AutoVue to Oracle’s best-in-class CRM solutions. By introducing a visual aspect to call center, field service, and ordering processes, Visual CRM helps teams provide faster responses to customer issues, optimize field service performance, and shorten ordering cycles while minimizing order errors.With Visual CRM, organizations can achieve improved customer service levels and field service operations which help drive margin, top line revenue, and customer retention.

    Read the article

  • OTN, T-Shirts, and Tunes at Mezzanine - Tuesday Oct 2.

    - by Bob Rhubart
    By now you've probably heard about the Oracle OpenWorld Music Festival, which will bring an incredible array of bands, spanning the spectrum of genres, to several venues throughout San Francisco. The festival runs Sunday through Thursday, with a break on Wednesday for the Oracle Appreciation Event on Treasure Island featuring Pearl Jam, Kings of Leon, and X. ***CORRECTION*** What you probably don't know is that OTN is sponsoring the Tuesday night Festival show at Mezzanine (444 Jessie Street at Mint), featuring:  GOLDEN STATEDEATH VALLEY HIGH LOW FLYING OWLS The OTN crew will be on hand, passing out t-shirts and resisting the temptation to misbehave. Mostly. 

    Read the article

  • Attending MySQL Connect? Your Opinion Matters.

    - by Monica Kumar
    Take the MySQL Connect 2012 Survey Thanks to everyone who is at the first ever MySQL Connect Conference in San Francisco this weekend! Don't forget to take your Conference and Session Surveys. Your opinions help shape next year's conference. Take a survey for each of the sessions you attend and be entered into a drawing for one prize for $200 American Express Gift Certificate. Fill in the daily conference survey and be entered into a drawing for one prize for a $500 American Express Gift Card Surveys are located here. Make your opinion count! Take the survey now. Congratulations to Robin Schumacher from DataStax as he is the winner of the Saturday survey!

    Read the article

  • BI&EPM in Focus Oct 2012

    - by Mike.Hallett(at)Oracle-BI&EPM
    Customers Iluka Resources Improves Business Insight into Mining Operations Through Significantly Faster, Customized Analyses Banco do Brasil Monitors Budgets in Real Time, Generates Financial Reports In Minutes Instead of Months General Dynamics Improves Budgeting and Planning and Accelerates Rate Changes by Using Integrated Enterprise Performance Management Suite Facebook achieves world-wide automation of financial close task tracking and management of account reconciliations with Oracle Hyperion Financial Close Management (link) Hess Consolidates Multiple SAP General Ledgers with Oracle Hyperion (link) Navistar Leads with Cutting Edge Hyperion Platform, Including HSF, HPCM (link)   Enterprise Performance Management Oct 10: Navistar Leverages DRM (Rolta Solutions) (link) Replay: Integrated Business Planning, Featuring Leggett & Platt (link)   Business Intelligence Report: From Overload to Impact: An Industry Scorecard on Big Data Business Challenges (link | press release) Oct 10: The Top Five Things You Should Know When Migrating from an Old BI Technology to Oracle Business Intelligence Enterprise Edition (perfomance architects) (link)

    Read the article

  • Rollback in Oracle and SQL Server

    - by CatherineRussell
    I have an Oracle background. It was interesting to see how rollback handled in Oracle and SQL Server. There is no begin trans in Oracle.  What oracle does is it will store the data in a temporary area called the rollback segments. Untill your issue the commit command the records will be kept there. You can even rollback your update statement by issuing the rollback command. When you issue the commit command the records in the rollback segments are written to the redo log files. The same logic for insert is also applicable except that there is no mirror image of the record kept.   In SQL Server, if you want to be able to roll back statement, you neet to start your statement with a "begin tran" . Then, you can rollback a transaction, if this is needed. begin tran update Person set FirstName = 'Arthur' where PersonId = 10 -- select firstname from Person rollback

    Read the article

  • WebLogic Server 12c Launch Event - 1 December 2011

    - by Chuck Speaks
    Introducing Oracle WebLogic Server 12c, the #1 Application Server Across Conventional and Cloud Environments Please join Hasan Rizvi on December 1, as he unveils the next generation of the industry’s #1 application server and cornerstone of Oracle’s cloud application foundation—Oracle WebLogic Server 12c. Hear, with your fellow IT managers, architects, and developers, how the new release of Oracle WebLogic Server is: Designed to help you seamlessly move into the public or private cloud with an open, standards-based platform Built to drive higher value for your current infrastructure and significantly reduce development time and cost Optimized to run your solutions for Java Platform, Enterprise Edition (Java EE); Oracle Fusion Middleware; and Oracle Fusion Applications Enhanced with transformational platforms and technologies such as Java EE 6, Oracle’s Active GridLink for RAC, Oracle Traffic Director, and Oracle Virtual Assembly Builder Don't miss this online launch event. Register now.

    Read the article

  • Dependency Injection Introduction

    - by MarkPearl
    I recently was going over a great book called “Dependency Injection in .Net” by Mark Seeman. So far I have really enjoyed the book and would recommend anyone looking to get into DI to give it a read. Today I thought I would blog about the first example Mark gives in his book to illustrate some of the benefits that DI provides. The ones he lists are Late binding Extensibility Parallel Development Maintainability Testability To illustrate some of these benefits he gives a HelloWorld example using DI that illustrates some of the basic principles. It goes something like this… class Program { static void Main(string[] args) { var writer = new ConsoleMessageWriter(); var salutation = new Salutation(writer); salutation.Exclaim(); Console.ReadLine(); } } public interface IMessageWriter { void Write(string message); } public class ConsoleMessageWriter : IMessageWriter { public void Write(string message) { Console.WriteLine(message); } } public class Salutation { private readonly IMessageWriter _writer; public Salutation(IMessageWriter writer) { _writer = writer; } public void Exclaim() { _writer.Write("Hello World"); } }   If you had asked me a few years ago if I had thought this was a good approach to solving the HelloWorld problem I would have resounded “No”. How could the above be better than the following…. class Program { static void Main(string[] args) { Console.WriteLine("Hello World"); Console.ReadLine(); } }  Today, my mind-set has changed because of the pain of past programs. So often we can look at a small snippet of code and make judgements when we need to keep in mind that we will most probably be implementing these patterns in projects with hundreds of thousands of lines of code and in projects that we have tests that we don’t want to break and that’s where the first solution outshines the latter. Let’s see if the first example achieves some of the outcomes that were listed as benefits of DI. Could I test the first solution easily? Yes… We could write something like the following using NUnit and RhinoMocks… [TestFixture] public class SalutationTests { [Test] public void ExclaimWillWriteCorrectMessageToMessageWriter() { var writerMock = MockRepository.GenerateMock<IMessageWriter>(); var sut = new Salutation(writerMock); sut.Exclaim(); writerMock.AssertWasCalled(x => x.Write("Hello World")); } }   This would test the existing code fine. Let’s say we then wanted to extend the original solution so that we had a secure message writer. We could write a class like the following… public class SecureMessageWriter : IMessageWriter { private readonly IMessageWriter _writer; private readonly string _secretPassword; public SecureMessageWriter(IMessageWriter writer, string secretPassword) { _writer = writer; _secretPassword = secretPassword; } public void Write(string message) { if (_secretPassword == "Mark") { _writer.Write(message); } else { _writer.Write("Unauthenticated"); } } }   And then extend our implementation of the program as follows… class Program { static void Main(string[] args) { var writer = new SecureMessageWriter(new ConsoleMessageWriter(), "Mark"); var salutation = new Salutation(writer); salutation.Exclaim(); Console.ReadLine(); } }   Our application has now been successfully extended and yet we did very little code change. In addition, our existing tests did not break and we would just need add tests for the extended functionality. Would this approach allow parallel development? Well, I am in two camps on parallel development but with some planning ahead of time it would allow for it as you would simply need to decide on the interface signature and could then have teams develop different sections programming to that interface. So,this was really just a quick intro to some of the basic concepts of DI that Mark introduces very successfully in his book. I am hoping to blog about this further as I continue through the book to list some of the more complex implementations of containers.

    Read the article

< Previous Page | 497 498 499 500 501 502 503 504 505 506 507 508  | Next Page >