Search Results

Search found 33445 results on 1338 pages for 'single instance storage'.

Page 723/1338 | < Previous Page | 719 720 721 722 723 724 725 726 727 728 729 730  | Next Page >

  • Introducing NFakeMail

    - by João Angelo
    Ever had to resort to custom code to control emails sent by an application during integration and/or system testing? If you answered yes then you should definitely continue reading. NFakeMail makes it easier for developers to do integration/system testing on software that sends emails by providing a fake SMTP server. You’ll no longer have to manually validate the email sending process. It’s developed in C# and IronPython and targets the .NET 4.0 framework. With NFakeMail you can easily automate the testing of components that rely on sending mails while doing its job. Let’s take a look at some sample code, we start with a simple class containing a method that sends emails. class Notifier { public void Notify() { using (var smtpClient = new SmtpClient("localhost", 10025)) { smtpClient.Send("[email protected]", "[email protected]", "S1", "."); smtpClient.Send("[email protected]", "[email protected]", "S2", ".."); } } } Then to automate the tests for this method we only need to the following: [Test] public void Notify_T001() { using (var server = new FakeSmtpServer(10025)) { new Notifier().Notify(); // Verifies two messages are received in the next five seconds var messages = server.WaitForMessages(count: 2, timeout: 5000); // Verifies the message sender Debug.Assert(messages.All(m => m.From.Address == "[email protected]")); } } The created FakeSmtpServer instance will act as a simple SMTP server and intercept the messages sent by the Notifier class. It’s even possible to verify some fields of each intercepted message and by default all intercepted messages are saved to the file system in MIME format.

    Read the article

  • Effective way to check if an Entity/Player enters a region/trigger

    - by Chris
    I was wondering how multiplayer games detect if you enter a special region. Let's assume there is a huge map that is so big that simply checking it would become a huge performance issue. I've seen bukkit (a modding API for Minecraft servers) firing an Event on every single move. I don't think that larger games do the same because even if you have only a few coordinates you are interested in, you have to loop through a few trigger zone to see if the player is inside your region - for every player. This seems like an extremely CPU-intense operation to me even though I've never developed something like that. Is there a special algorithm that is used by larger games to accomplish this? The only thing I could imagine is to split up the world into multiple parts and to register the event not on the movement itself but on all the parts that are covered by your area and only check for areas that are registered in the current part. And another thing I would like to know: How could you detect when someone must have entered a trigger but you never saw him directly in it since his client only sent you an move packet shortly before entering and after leaving the trigger area. Drawing a line and calculate all colliding parts seems rather CPU intensive if you have to perform it every time.

    Read the article

  • Creating yahoo pipe from google cal feed results in german language headings [closed]

    - by kevyn
    I'm trying to create a Yahoo pipe which combines 4 google calendar RSS feeds into a single feed sorted by date. I've created a yahoo pipe to do this (Which can be found here) The problem is, the headings all appear in German! I've searched online and the only suggestion to be made is this one which suggests that: It's actually Google doing the translation based on the requester IP and doing a geolocation based on that IP. and they suggest changing the .com to a .co.uk, however this does not work for me as yahoo pipes cannot find the feed (403 error) Does anyone have a solution? if there is another solution other than yahoo pipes then I'm all ears! here are the feeds i'm trying to combine: http://www.google.com/calendar/feeds/8tqsfkbs00erv85u2shenea60s%40group.calendar.google.com/public/basic http://www.google.com/calendar/feeds/di85fkb2u1m4si1sqar9d73ghk%40group.calendar.google.com/public/basic http://www.google.com/calendar/feeds/oq5k4pevdjgb4o59muiml72i2k%40group.calendar.google.com/public/basic http://www.google.com/calendar/feeds/f1gg60fr3esdovp15gp83traec%40group.calendar.google.com/public/basic thanks in advance :-)

    Read the article

  • Best approach for utility class library using Visual Studio

    - by gregsdennis
    I have a collection of classes that I commonly (but not always) use when developing WPF applications. The trouble I have is that if I want to use only a subset of the classes, I have three options: Distribute the entire DLL. While this approach makes code maintenance easier, it does require distributing a large DLL for minimal code functionality. Copy the classes I need to the current application. This approach solves the problem of not distributing unused code, but completely eliminates code maintenance. Maintain each class/feature in a separate project. This solves both problems from above, but then I have dramatically increased the number of files that need to be distributed, and it bloats my VS solution with tiny projects. Ideally, I'd like a combination of 1 & 3: A single project that contains all of my utility classes but builds to a DLL containing only the classes that are used in the current application. Are there any other common approaches that I haven't considered? Is there any way to do what I want? Thank you.

    Read the article

  • X11 Forwarding works on Windows with Xming and Putty, but not with ssh command line

    - by seaders
    I have a micro Amazon instance the I want to use for testing and everything is going fine until the title. If I set up all the info in PuTTy, open it up and run 'xclock', all runs perfectly and it opens on Xming on my local desktop. If, however, I run ssh xxxxxxx.amazonaws.com xclock I get Error: Can't open display: If I run either of ssh xxxxxxx.amazonaws.com -X DISPLAY=localhost:0:0 xclock ssh xxxxxxx.amazonaws.com -Y DISPLAY=localhost:0:0 xclock I get the same again, but just after about a 30 second delay. In .ssh/config in Windows, I do have ForwardX11 yes set, and I really can't think of anything more to get this working. The fact that PuTTy is working perfectly, not no matter what I do on the command line, I get absolutely no joy is driving me crazy. Can I even see the commands PuTTy is running somewhere, to see if it's doing some extra magic? The ssh I'm running in Windows is MinGW32's.

    Read the article

  • moving from Exchange 2003 to Exchange 2010

    - by pcampbell
    Consider a small-medium business' deployment of Exchange 2003. The question is around migrating to Exchange 2010. Here's a bit about the landscape: Current state is 50-100 users/mailboxes with the majority using Outlook 2007 OWA enabled desktop users are NOT running in Cached Exchange Mode laptops users ARE running in Cached Exchange Mode a single Exchange server with modest or reasonable specs for the day (3gz, multi-core, 4gb, Win 2003 32-bit) Questions Do you have any suggestions for the admin team regarding the upgrade path/steps from Exchange 2003 to 2010? Considering the requirement of a 64 bit OS, consider a new separate machine as ready to go with Win 2008. Have I missed any details? Where might virtualization help in this project? Any lessons learned in previous upgrades (2007 or 2010) would be appreciated!

    Read the article

  • Who moved this PC here aka Locate which port on switch a PC is plugged into

    - by ggonsalv
    The catch is you have no SNMP access, not even public. The end vision is locate a PC in building easily even if PC's are moved around. The MAC address of the PC is known and the software would run as client on each desktop, reporting back which port the PC was plugged into. Well from a programmer perspective, my network skills are not the best. Yes I could use SNMP, download the MAC port table, load it into SQL, match it to the PC name. Seems alot of work. Lets say I ping a single point from the PC. Would the echo have some thing unique for each device on the same switch? All I need to identify some thing unique for each PC plugged into each port. If the PC was moved from location A to a different location then the unique response would change.

    Read the article

  • How to use IIS as a trusted proxy for ActiveDirectory SSO?

    - by brofield
    I'm trying to add Active Directory single-sign-on support to an existing SOAP server. The server can be configured to accept a trusted reverse-proxy and use the X-Remote-User HTTP header for the authenticated user. I want to configure IIS to be the trusted proxy for this service, so that it handles all of the Active Directory authentication for the SOAP server. Basically IIS would have to accept HTTP connections on port X and URL Y, do all the authentication, and then proxy the connection to a different server (most likely the same X and Y). Unfortunately, I have no knowledge of IIS or AD (so I am trying my best to learn enough to build this solution) so please be gentle. I would assume that this is not an uncommon scenario, so is there some easy way to do this? Is this sort of functionality built into IIS or do I need to build some sort of IIS proxy program myself? Is there a better option for getting the authentication done and the X-Remote-User HTTP header set than requiring IIS?

    Read the article

  • Specify a custom dictionary for FxCop and Visual Studio source analysis

    - by Marko Apfel
    Renaming the default custom dictionary from CustomDictionary.xml to an other name – for instance FxCop.CustomDictionary.xml needs some additional changes to work in involved applications. Visual Studio Team System code analysis For Visual Studio Team System code analysis this file should be added as a link to all projects and setted to be the Build Action CodeAnalysisDirectory. Build target In a build target the command line tool FxCopCmd should be called with the /dictionary parameter: <Target Name="FxCop"> <Exec Command="&quot;$(ProjectDir)..\..\build\FxCop\FxCopCmd.exe&quot; /file:&quot;$(TargetPath)&quot; /project:&quot;$(ProjectDir)..\EsriDE.SfgPraxair.FxCop&quot; /directory:&quot;$(ProjectDir)..\..\lib\Esri.ArcGIS&quot; /directory:&quot;$(ProjectDir)..\..\lib\Microsoft&quot; /dictionary:&quot;$(ProjectDir)..\FxCop.CustomDictionary.xml&quot; /out:&quot;$(OutDir)..\$(ProjectName).FxCopReport.xml&quot; /console /forceoutput /ignoregeneratedcode"> </Exec> <Message Text="FxCop finished." /> </Target> FxCop-GUI (standalone application) In FxCop-GUI is no option to specify an own file name – but you could add a hint in the FxCop project file. Open your this file and look for the line: <CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True" /> Then change it to: <CustomDictionaries SearchFxCopDir="True" SearchUserProfile="True" SearchProjectDir="True"> <CustomDictionary Path="FxCop.CustomDictionary.xml"/> </CustomDictionaries> Ready :-)

    Read the article

  • How many disks to use for eight channel RAID controller

    - by Tvrtko
    I have a 3ware 8 channel SAS controller and a back plane extender (also 8 channel) which can take 16 drives. I will be creating a single RAID 10 volume. I know that adding more drives has positive effect on performance, but I'm not sure if adding more than 8 drives on an 8 channel controller will have any positive impact at all. Am I wrong? Should I put 16 drives for best performance? Would 8 drives give me the same performance?

    Read the article

  • 403 in Response to OPTIONS when updating working copy having full access

    - by user23419
    There is an SVN repository (single repository) http://example.net/svn The repository contains several projects (directories): http://example.net/svn/Project1 http://example.net/svn/Project2 User has full access to Project1 directory and has no access neither to root nor to Project2. Everything works fine for a while: user checks out http://example.net/svn/Project1, commits and updates it successfully. But sometimes trying to update leads to the following error: Command: Update Error: Server sent unexpected return value (403 Forbidden) in response to OPTIONS Error: request for 'http://example.net/svn' Finished! Why does TortoiseSVN request something in the root??? I have noticed that this happens after somebody else committed copy or move operation. Checking out http://example.net/svn/Project1 helps till next time... The main question: How to set up access rights for user to avoid these errors? Note, it's not an option to grant user any read or write access right on the root directory for security reasons.

    Read the article

  • Manager Self Service at your Fingertips

    - by Elaine Clement
    Last week we released new and improved Manager Self Service capabilities in PeopleSoft HCM 9.1. We delivered a new Manager Dashboard, streamlined many Manager Self Service transactions, provided new Pivot Grid capabilities, and implemented one-click Related Actions accessible from multiple places – all with the goal of improving every Manager’s self service experience. Manager Dashboard These new capabilities have the potential to significantly impact an organization’s bottom line, and here is why. Increased Efficiency The Manager Dashboard provides a ‘one-stop shop’ for your Managers with all of the key data they need consolidated into a single view. Alerts notifying managers of important tasks are immediately viewable and actionable. Administrators can configure the dashboard to include the most important pagelets needed for their organization, and Managers can personalize it to fit within their personal way of conducting their tasks. The Related Actions feature further improves the ease with which Managers get their work done by providing one-click access to Manager Self Service transactions.  Increased Job Satisfaction The streamlined Manager transactions, related actions, and the new Manager Dashboard provide an enhanced user experience. Managers are able to quickly get in, get the information they need, complete their transactions, and get out. Managers can spend their time focusing on getting the business results they need instead of their day to day HR tasks. Enhanced Decision Support Administrators can ensure the information and analytics they want their Managers to use are available from the Manager Dashboard, establishing best business practices. Additional pivot grids relevant to your own organization can be added to the Manager Dashboard. With this easy access to the relevant information in an easily understood format, Managers can make the right business decisions needed to improve their team and their team’s productivity. For more details on the Manager Dashboard and some of the other newly posted features, such as a new Talent Summary, check out this video and others: Oracle PeopleSoft Webcasts

    Read the article

  • Beta Soon Closing: Java SE 7 Programmer I (OCA) Exam

    - by Harold Green
    Just a reminder that you still have the next several weeks to take the beta exam for the new "Oracle Certified Associate, Java SE 7 Programmer" certification. From now through December 16th, you can take the "Java SE 7 Programmer I" exam (1Z1-803) for only $50 USD. Not only that, but because this only a single-exam certification - passing it puts you among the very first certified on the new Java SE 7 platform! You'll be happy to note that we worked hard to raise the bar for OCA as we built the Java SE 7 certification. The content that we considered to be more ‘conceptual knowledge-based' has been eliminated in the OCA level and has been replaced with far more practical content - what we often call "practitioner-level" concepts and questions. In fact, some of the topics that we previously covered at the Oracle Certified Professional (OCP) level is now covered at the OCA level. Doing this not only increases the value of the Java SE 7 OCA certification, but also has provided the opportunity for us to broaden the topics, concepts, questions covered at the OCP certification level. All of this adds up to more value and credibility to those who get certified on Java SE 7. The OCA exam doesn’t have prerequisites. But it is very important that you carefully review the test objectives on the exam page and assess your current skills and knowledge against that list to be sure that you're ready. From the exam page you can register to take the exam at a Pearson VUE testing center near you.Below are some helpful details on the certification track and exam. Again, register now - just a few weeks left at the special low beta price! QUICK LINKS: Certification Track: Oracle Certified Associate (OCA), Java SE 7 Programmer Certification Exam: Java SE 7 Programmer I (1Z1-803) Video: Coming Soon - Java SE 7 Certification Info: About Beta Exams Exam Registration: Instructions | Register Here

    Read the article

  • Which Message Queue should I choose (must run on Linux)

    - by MHS
    There are many open source Message queues for Linux, and I need some help deciding what I should go for. My problem is simple - I get sent a list of files that needs to be processed. Each job can't be split up, but they are self contained and can be spread to multiple computers. I'm thinking of solving this using a message queue. Multiple clients send a message to a central queue. Each queue has a number of subscribers that will take jobs from that queue when they have finished processing the current job. Ideally it should have the following qualities Message queue must be able to store unprocessed messages in case of a shutdown/reboot A job can only be processed by a single subscriber (don't want duplicate jobs) The subscribers should be able to send jobs of their own, that will be processed by a different set of subscribers. Can anyone suggest a simple to use message queue?

    Read the article

  • Getting rid of Massive View Controller in iOS?

    - by Earl Grey
    I had a discussion with my colleague about the following problem. We have an application where we need filtering functionality. On any main screen within the upper navigation bar, there is a button in the upper right corner. Once you touch that button, an custom written Alert View like view will pop up modally, behind it a semitransparent black overlay view. In that modal view, there is a table view of options, and you can choose one exclusively. Based on your selection, once this modal view is closed, the list of items in the main view is filtered. It is simply a modally presented filter to filter the main table view.This UI design is dictated by the design department, I cannot do anything about it so let accept this as a premise. Also the main filter button in the navbar will change colours to indicate that the filter is active. The question I have is about implementation. I suggested to my colleague that we create a separate XYZFilter class that will be an instance created by the main view controller acquire the filtering options handle saving and restoration of its state - i.e. last filter selected provide its two views - the overlay view and the modal view be the datasource for the table in its modal view. For some unknown reason, my colleague was not impressed by that approach at all. He simply wants to do these functionalities in the main view controller, maybe out of being used to do this in the past like that :-/ Is there any fundamental problem with my approach? I want to keep the view controller small, not to have spaghetti code create a reusable component (for use outside the project) have more object oriented, decoupled approach. prevent duplication of code as we need the filtering in two different places but it looks the same in both.. Any advice?

    Read the article

  • Disable alt + tab moving windows by itself

    - by Lie Ryan
    Whenever I press Alt + Tab , Unity moves the window I'm switching to so that the whole window is inside the screen. This behavior is excruciatingly annoying because I often move a window (usually text editors) partially outside the current screen so I can view another window below it (usually a browser). Every time I Alt + Tab back to the text editor, I'm getting an unnecessary virtual screen switch, and Unity is rearranging the windows behind my back. For instance, here is a browser and text editor on Virtual Screen 1 (top left), note that the text editor is partially outside the current screen: Then I Alt-Tab to the browser (or clicked on it): Next, I Alt + Tab again to get back to the text editor, but Alt-Tab switched me to Virtual Screen 4 (bottom right) because a larger percentage of the text editor window is on virtual screen 4 than in virtual screen 1; and the browser is no longer in the screen. Also note that the text editor window moves from being on the bottom-right to the top-left, which is very disorienting as I can no longer keep track of where any of my windows are since they all keep moving around by themselves.. How do I disable this behavior? I don't want to have any virtual screen switch when Alt + Tab , especially since Alt + Tab does not list windows that is completely not in the current virtual screen anyway.

    Read the article

  • High Availability Configuration using Heartbeat and Pacemaker

    - by pradeepchhetri
    I have the following setup: I have configured high availability between two load balancers (HAProxy) so that if HAProxy1 get down, the floating IP gets transferred to the other load balancer HAProxy2, hence all the clients will get the response from HAProxy2, which at the back-end is doing LB among the sme two webserver. This is for removing the single point of failure in case of only one HAProxy. Whenever I stops the hearbeat in HAProxy1, the floating IP goes to HAProxy2. But I want to configure such that whenever the process haproxy goes down, the floating IP should get assigned to HAProxy2. Can someone tell me how to implement it ?

    Read the article

  • Where Catalyst stores applist for switchable graphics?

    - by noober
    I cannot add an app to the list to manually set it to high performance (Radeon instead of Intel HD). When I browse for an exe, nothing happens, the list is still empty. So, maybe I can edit some .cfg or .ini? UPDATE This is NOT my screenshot... actually I've found it on the Net. The list with iexplore.exe is what I meant. When I click 'Browse' and choose any exe (Portal2.exe, for instance) nothing happens. The list is empty, so I cannot set mode for Portal2.exe.

    Read the article

  • SQL Server 2008 data directiories in SSD

    - by Kuroro
    I am going to install a new SQL server 2008 instance on my development/testing machine. My machine have one 7200rpm 500GB SATA Disk (C:OS) and one Intel X25-G2 80GB SSD(D:). Details machine config is as follow: CPU:i7 860 RAM:8GB Microsoft said I have an option to place following directories in different disk. So I plan to place User database & Temp DB on SSD and rest of it on traditional disk. Is it a good choice for gaining a performance boost in fast SSD? Data root directory :C:\Program Files\Microsoft SQL Server User database directory D:\Data User log directory C:\Logs Temp DB directory D:\TempDB Temp Log directory C:\TempDB Backup directory C:\Backups

    Read the article

  • GlassFish Server 3.1.2.2 Maven Coordinates

    - by arungupta
    GlassFish Server 3.1.2.2 was released a few weeks ago. This micro release fixed a couple of important bugfixes - one in JAX-WS (JAX-WS-1059) and another one related to JK listener with Apache + mod_ajp_proxy (GLASSFISH-18446). This release is already integrated in NetBeans 7.2 and you can download separately from here. Maven coordinates for this build are now also described on the download page. The following fragment in your pom.xml will allow you to invoke embedded-glassfish:run, embedded-glassfish:deploy, and other similar commands. <dependency>    <groupId>org.glassfish.embedded</groupId>     <artifactId>maven-embedded-glassfish-plugin</artifactId>     <version>3.1.2.2</version> </dependency> GlassFish Embedded Server Guide provide more details about setup etc. Similarly full platform or Web profile implementation of GlassFish can be included as a single JAR using <dependency>    <groupId>org.glassfish.main.extras</groupId>    <artifactId>glassfish-embedded-web</artifactId>    <version>3.1.2.2</version></dependency> Of course, you need to replace "glassfish-embedded-web" with "glassfish-embedded-all" to get complete platform.  The download page provide more details different bundles and complete maven coordinates. Or you can get started with the simple zip bundle as well.

    Read the article

  • What are some of the benefits of a "Micro-ORM"?

    - by Wayne M
    I've been looking into the so-called "Micro ORMs" like Dapper and (to a lesser extent as it relies on .NET 4.0) Massive as these might be easier to implement at work than a full-blown ORM since our current system is highly reliant on stored procedures and would require significant refactoring to work with an ORM like NHibernate or EF. What is the benefit of using one of these over a full-featured ORM? It seems like just a thin layer around a database connection that still forces you to write raw SQL - perhaps I'm wrong but I was always told the reason for ORMs in the first place is so you didn't have to write SQL, it could be automatically generated; especially for multi-table joins and mapping relationships between tables which are a pain to do in pure SQL but trivial with an ORM. For instance, looking at an example of Dapper: var connection = new SqlConnection(); // setup here... var person = connection.Query<Person>("select * from people where PersonId = @personId", new { PersonId = 42 }); How is that any different than using a handrolled ADO.NET data layer, except that you don't have to write the command, set the parameters and I suppose map the entity back using a Builder. It looks like you could even use a stored procedure call as the SQL string. Are there other tangible benefits that I'm missing here where a Micro ORM makes sense to use? I'm not really seeing how it's saving anything over the "old" way of using ADO.NET except maybe a few lines of code - you still have to write to figure out what SQL you need to execute (which can get hairy) and you still have to map relationships between tables (the part that IMHO ORMs help the most with).

    Read the article

  • File apparently doesn't exist when attempting to delete it

    - by Alex Yan
    A month or so back, I untarred the Linux source in a folder in Cygwin (I was curious as to whether or not it would compile with MinGW 'cause my other computer running Linux is a slow single core Sempron). I tried deleting it, but there's 1 file left, and it will not delete... Cygwin resides in C:\cygwin, and I untarred the source in C:\cygwin\src\linux-3.7.1. It didn't compile... So I tried deleting the folder. It was going well, until at the end, when I realized not all files are deleted. I tried deleting linux-3.7.1 folder again, and an error popped up: I opened the folder, and found that there's 1 source file left: aux.c, which is in C:\cygwin\src\linux-3.7.1\drivers\gpu\drm\nouveau\core\subdev\i2c\aux.c. It will not: Delete Open Move General properties: Security properties: How do I remove this file?

    Read the article

  • How do graphics programmers deal with rendering vertices that don't change the image?

    - by canisrufus
    So, the title is a little awkward. I'll give some background, and then ask my question. Background: I work as a web GIS application developer, but in my spare time I've been playing with map rendering and improving data interchange formats. I work only in 2D space. One interesting issue I've encountered is that when you're rendering a polygon at a small scale (zoomed way out), many of the vertices are redundant. An extreme case would be that you have a polygon with 500,000 vertices that only takes up a single pixel. If you're sending this data to the browser, it would make sense to omit ~499,999 of those vertices. One way we achieve that is by rendering an image on a server and and sending it as a PNG: voila, it's a point. Sometimes, though, we want data sent to the browser where it can be rendered with SVG (or canvas, or webgl) so that it can be interactive. The problem: It turns out that, using modern geographic data sets, it's very easy to overload SVG's rendering abilities. In an effort to cope with those limitations, I'm trying to figure out how to visually losslessly reduce a data set for a given scale and map extent (and, if necessary, for a known map pixel width and height). I got a great reduction in data size just using the Douglas-Peucker algorithm, and I believe I was able to get it to keep the polygons true to within one pixel. Unfortunately, Douglas-Peucker doesn't preserve topology, so it changed how borders between polygons got rendered. I couldn't readily find other algorithms to try out and adapt to the purpose, but I don't have much CS/algorithm background and might not recognize them if I saw them.

    Read the article

  • Can a Mini DisplayPort to HDMI cable support resolutions above 1920x1200?

    - by cnst
    Is it theoretically possible for a cheapo Mini DisplayPort to HDMI cable or adapter to support resolutions above 1920 × 1200, e.g. 2560 × 1440 (QHD)? Or is it always electrically-equivalent to a single-link DVI, and such resolutions above 1920×1200 are out of the question? From empirical evidence, I've tried out some rather expensive brand-name adapter from a local Apple dealer that was marked as HDMI 1.3 compliant with my mid-2013 MacBook Air (5000) and also with X230 (4000), and a QHD monitor, but was only getting a maximum of FHD resulution through such an arrangement.

    Read the article

  • Organising data access for dependency injection

    - by IanAWP
    In our company we have a relatively long history of database backed applications, but have only just begun experimenting with dependency injection. I am looking for advice about how to convert our existing data access pattern into one more suited for dependency injection. Some specific questions: Do you create one access object per table (Given that a table represents an entity collection)? One interface per table? All of these would need the low level Data Access object to be injected, right? What about if there are dozens of tables, wouldn't that make the composition root into a nightmare? Would you instead have a single interface that defines things like GetCustomer(), GetOrder(), etc? If I took the example of EntityFramework, then I would have one Container that exposes an object for each table, but that container doesn't conform to any interface itself, so doesn't seem like it's compatible with DI. What we do now, in case it helps: The way we normally manage data access is through a generic data layer which exposes CRUD/Transaction capabilities and has provider specific subclasses which handle the creation of IDbConnection, IDbCommand, etc. Actual table access uses Table classes that perform the CRUD operations associated with a particular table and accept/return domain objects that the rest of the system deals with. These table classes expose only static methods, and utilise a static DataAccess singleton instantiated from a config file.

    Read the article

< Previous Page | 719 720 721 722 723 724 725 726 727 728 729 730  | Next Page >