|
Web Services, Sockets, Named Pipes, MSMQ, they can communicate through whatever means is most applicable to your scenario. There isn't one technology that fits all problems, you have to look at your problem and figure out which technology solves it best.
meeram395 wrote: how the UI Layer should know it should call the particular class in Business Layer?
There needs to be some coupling between the two layers to make this happen. Inside the UI layer there's a distinction between what is displayed and how it's displayed. The what is the part that's coupled to the rest of the system - it's the information that's sent to and from the service/business layer to so it's job. This is where the UI layer needs to know what the rest of the system does. How it displays it is totally up to the UI layer, that's the part that's completely independent from the rest of the business logic. The basic designs to separate these parts inside the UI layer are MVC, MVP and MVVM. Here's[^] a quick and dirty on those.
|
|
|
|
|
Thanks Jimmanuel, Thanks a lot. This fully answers my query. And thank you for the article.
Success is the good fortune that comes from aspiration, desperation, perspiration and inspiration.
|
|
|
|
|
Glad to help
|
|
|
|
|
I currently have a Player class that can LoadContent(),Render(GameTime) and other stuff like that, I also have a bullet class that is similar. Is there a good way to manage getting input , controlling and updating the player and bullets, and some place to fire them?
So far i have player having a list of bullets, and a drawable game component that draws them if they are fired.
|
|
|
|
|
Hope you will get all necessary information here.
http://forums.xna.com/forums/t/43047.aspx
|
|
|
|
|
Thanks for the reply, turns out that by the time i read this i had devised a working solution to handel this.
Had a "PlayerManager","BulletManager" classes that related so that the player can fire and the bulletmanager will draw/updaete the bullets.
Thanks again!
|
|
|
|
|
So, I've been trying to do a lot more reading rather than just coding recently. I'm trying to understand a lot more about architecture, design and putting to use all those wonderful keywords I've read about since I became a professional programmer. I've bought a few books recently, Agile: Patterns & Practices in C# by Bob Martin, Code Complete and I do own the GoF book.
Maybe it's me not doing enough reading, maybe it's that I'm a more practical person overall and can't quite extend these simple examples beyond the most basic ideas. I've tried to separate my view, presentation etc. But keep finding logic and/or objects make their way into parts I'm pretty certain they shouldn't.
I'm working with C#, but figure this is what I'm trying to understand so posting here is best. What book / article / blog etc. would you recommend for a professional developer with experience of larger systems that is looking to learn more about how the big boys programmers (don't want to be sexist!) really write their software using the principals, patterns etc. that there is so much about out there. There must be companies that actually use this stuff.
|
|
|
|
|
|
Thanks for the recommendations. I was looking at those two earlier. I've opted for the Microsoft one as it's most likely I'll be able to apply as I go and thus get a firmer grasp.
|
|
|
|
|
I love the idea of the cloud based storage and services but having to pay MS to host it based upon things like used space, bandwidth and other factors seems to me to add a layer of financial complexity to application roll-out, implementation, and pricing to clients.
It also seems to open you up to potential abuses by outside clients that could write error filled code that drives your transaction and data rates through the roof making you partially responsible for what could end up being a huge bill if things go pear shaped.
Does anyone know if there are plans to allow the Azure platform to be run within a companies own cloud or is MS really focusing on JUST offering this as a hosted service in their data centers only as part of their long term revenue stream? I could see this, and to be honest it would not surprise me in the least, but I was just wondering if anyone had heard anything.
|
|
|
|
|
Ray Cassick wrote: Does anyone know if there are plans to allow the Azure platform to be run within a companies own cloud
That I do not know, but you could build your own cloud with the open source version of Eucalyptus[^].
I are Troll
|
|
|
|
|
I am an ASP.NET web dev but I am trying to build myself a little desktop application that takes control of another application for me.
What I want it to do is pretty simple, type some text into a textbox on another application then click a few buttons for me. Problem is I don't even know where to start or what language would be best to write this in? Can anyone point me in the right direction.
I can give more information for anyone who is interested
Thanks,
Colum
|
|
|
|
|
Hi,
I would do such things (and most others) in C#.
For keyboard input, .NET has a SendKeys class.
For mouse input, you would need P/Invoke to call native code in Windows DLL libraries, such as
[DllImport("user32.dll", CallingConvention=CallingConvention.StdCall, SetLastError=true)]
public static extern IntPtr SendInput(int count, ref INPUT input, int size);
[DllImport("user32.dll", CallingConvention=CallingConvention.StdCall, SetLastError=true)]
public static extern IntPtr SendInput(int count, ref INPUT2 input, int size);
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall, SetLastError = true)]
public static extern IntPtr SetCursorPos(int x, int y);
public struct MOUSEINPUT {
public int dx;
public int dy;
public int mouseData;
public int dwFlags;
public int time;
public IntPtr dwExtraInfo;
}
public struct INPUT {
public uint type;
public MOUSEINPUT mi;
}
public struct INPUT2 {
public uint type1;
public MOUSEINPUT mi1;
public uint type2;
public MOUSEINPUT mi2;
}
Now most of this is considered a hack as you can't do it reliably: it suffices for another application, window or control to suddenly get focus or being shown on the display, for your keys and/or mouse clicks to be intercepted by them (and maybe causing havoc).
The better way is to use application interfaces, if they exist.
Example: there are "Primary Interop Assemblies" for controlling Office from .NET
|
|
|
|
|
This is great thank you, I'll have a go at this, the application is for personal use so it being a hack is fine.
Basically I am an online poker player and there is a guy who is VERY bad. So I plan to keep pressing the search button until he sits down and then have the application very quickly sit me in the best seat available before all the others players get in there.
There are alot of commercial applications that do very similar things but for the life of me I didnt know where to start.
Thanks,
Colum
|
|
|
|
|
I am a college student and have been analysing, designing and now about to program a small project with another developer.
Is their any good ways of sharing the load between us?
|
|
|
|
|
buzzwright wrote: Is their any good ways of sharing the load between us?
You'd need to break down the job into smaller tasks, before you start dividing these among the workforce. You could also opt to let each participant choose the task that they're going to tackle next - the list itself is the thing that you want to focus on. If you find this stuff interesting, then continue your adventure here[^].
You might also be looking for a way to (securely) share code. There's a list with software that can help you to archive and share your code on the Wikipedia[^].
I are Troll
|
|
|
|
|
i have not been in a professional development very long, just under 1 year. i have however had the desire to produce professional quality software for sometime now.. i started thinking the other day that i wanted to make a list of items that i could pull from when i sit to design the softwares that i will be developing.
To start off, i have run in to theses parts multiple times in my short development life.
Logging - the ability to log events and errors.
Updates - hopefully semi-automatic.
those are the big ones, but i have seen the following in abundance too.
Instance Management, Extensibility Management, Threading Management (Esp in a GUI), Persistent Settings Management, and then Security/Encryption Management.
i can elaborate on any of these if asked, but lets throw these around the room and see what YOU think. I'm sure I'm not the only one that would like to have a new or different approach to choosing features for the next application.
|
|
|
|
|
I was thinking about a scenario which is often seen. Let's start form the user perspective. He opens a web page and there is some data table and filters like that:
Filter by: <field names="" combobox="" here=""> equals
User chooses a field name and enters some value and submits that.
Web application (presentation layer) takes user input and transfers the request to the web service (using automatic .NET XML serialization). So it seems data transfer object pattern can be used here.
Then my web service transforms that DTO to some valid query. Let's assume we are using some OR/M tool to query it for objects which satisfies the query. Also let's assume that OR/M tool offers some easy way to construct dynamic queries (BTW, LINQ-to-SQL has some problems with this).
So the question is - how to better pass data from user form to the data access layer (OR/M tool) so the dynamic query could be generated with less hassle? It would be awful to have web method for each field like this: GetCustomerByName(string name), GetCustomerByCity ... and so on. Then I have to analyze the user input and call appropriate web method. But maybe it is the right way?
I prefer some method GetCustomersByFilter, so then I can almost directly pass the request to web service and then can convert the request to query in OR/M servicing component. But what to pass to this GetCustomersByFilter method? Dictionary with field names as keys? Many nullable parameters? Custom objects?
It would be nice to use the same data structures that are used to pass data to the web application - the same data transfer objects, I guess. Like this:
Customer[] GetCustomersByFilter(Customer filter);
but then I have to allow all the fields of Customer to be nullable so I can later see which fields are used as filters. And if that does not correspond my business/validation rules (if rules say - some property cannot be null) than it would be a bit confusing. Also if I would like to use some generator to create web forms based on my DTO objects, it would be impossible to mark required fields easily just by detecting if some field is nullable or not.
So maybe I need some other object, like CustomerFilter with all nullable fields? Wouldn't it be overkill to have two classes for each object (also, accounting that those DTOs are converted to domain entities later - then we have even more classes)?
This dynamic filtering issue is really bugging me. Has anybody any experience with that, especially using domain driven design?
Thanks.
|
|
|
|
|
Hi all,
I've started designing a document management system based on SQL Server and vb .net. I find this an interesting project, why? Document management systems have grown to be too complex. What are the main subjects to cover? I want to control the document flow through a product development project, then to the production cycle and maintenance. This means avoiding a catalog structure and always looking for the latest versions of CAD data, bill of materials and so on.
It would be nice to have some feedback, is this a good idea?
Best regards,
OAT
Norway
|
|
|
|
|
Sharepoint is flexible, and, I find relatively simple to utilize and learn, plus there are TONs of examples, source code, add ons, and it's industry standard, uses SQL Server, can use .NET plugins, and more... Seems kinda like a moot effort to write your own.
|
|
|
|
|
Yes, its a brilliant idea.
On the contraty, you can check for existing technologies like MOSS or DotNetNuke or other CMS on the features they provide.
|
|
|
|
|
Odd Arne wrote: is this a good idea?
That depends on what you're trying to achieve. There's a lot of those out there, and lots of competition means that there's a living market.
You stated yourself that the current DMS-systems are too complex. Do a quick-poll on your collegues and ask them what annoys them most about the current system. Ask them what features they miss, places where people get stuck, make a list - and check it twice
If you're looking for a fun project from which one can learn, then I'd say that you'd chosen a good candidate.
I are Troll
|
|
|
|
|
Should includes
(1) Business workflow (Approval system)<br />
(2) Access Level (Permission/Role)<br />
(3) Parsing of image documents<br />
(4) Versioning control<br />
(5) download and upload of documents
|
|
|
|
|
I am currently going down the same path and creating project and document management database software. I started the project because our company (4 employees) would not buy typical management software which is aimed at larger projects and companies. I started using excel, then had a brief stint in Outlook then I moved to Access and I am currently evaluating the move to C++ and mySQL. Anyhow my journey so far I have done the following things:
So far I have done the following:
Outlook
(Dont try programming with vbscript (forms for contacts, calender, tasks ...) unless you are a sucker for punishment)
Synchronize routines for outlook contacts to access
Rewired the outlook calendar to a timesheet program. It now synchronized with my access timesheet database.
I rewired the task manager to a project manager and then ran synchronization routine through exchange server to my other workers, but I kept overloading the buffers. This pretty much convinced me to switch over to ACCESS.
Document Control
Created a standard document that outline the font and format that all my documents all look and feel the same. Created excel and word templates that I base my forms, letters and so forth off of. I did write a little routine for document control which helps me know which document are allowed for use with my other employees.
Document Folders
Decide whether your folder locations will be and whether this information will be hard wired into the program or will you created a database that will track and add this information as your company changes. I created routine to create the folder structure automatically with each new project to maintain the consistency of the work flow. One problem that I am battling with my IT is that they want my folder paths to be reduced which affects file access and backing up data.
Synchronization
I plan to be able to incorporate using your laptop or packaging information on your jump drive to work at home or on the road. In effect I have created addition fields in my table with reference the origin of data, which would reference the equipment and the ID number of the field of the remote table. The other thing that I am tracking is Created Date, Modified Date, and Accessed Date which is something that typical word processing documents use. I am contemplating adding more fields such as the person who created or modified or last accessed the data. It would me more used to track how bad data was entered into the main database.
Search Engine
With project management and document management it is easy to get a lot of information to manage so I spent a considerable amount of time to come up with a solution.
Automation
The idea of the project was to reduce the work load not increase it, so I spent a great deal of time creating automation engines where possible. Its one of those things that you may spend a lot of time getting right, but I feel it will be worth it in the long run.
This is my journey todate. I hope that you can mine some useful nuggets of information from this. When I finally get my prototype done I am considering using a program call Qt which was coincidentally created in Norway. I am reading it right I should be able to use Qt compile a linux and microsoft version.
Regards,
David Lario
Canada
|
|
|
|
|
Hello to all.
I am hoping you can provide opinions based on real world experience as to whether developers need to have local administrator rights on their machines or whether they can run on lower authority and if so what the recommendations for the minimum settings to use would be? More details around the environment follow ...
Our organisation is large enough to have separate systems administration and development teams. The organisation has a Standard Operationg Environment (SOE) that is used for all general office workers. Our developers currently have local administrator rights on their standard logins. Due to some recent scares with viruses coming into the network the systems administration team is making a case to management to have the developers normal login accounts run at a similar privilege level as the general office workers and either:
- provide them with a second account to use to load / remove software
- request that they go through the service desk to get software installed
The overall environment is Windows XP with MS Office 2003, Outlook 2007 and some other tools. The development environment is .Net, C#, SQL Server 200/2005 and a variety of other tools.
Over to you ... what are your thoughts?
|
|
|
|
|