|
I used to be of the camp to have many projects in a solution, thinking of allowing for maximum re-usability of ALL the components, including the following:
- Entity Types
- Repository Types
- Business Logic Types
- Data Transfer Object Types
- Web Application(s)
- Desktop Application(s)
Nowadays I structure my solution based on my designed deployment model. I try to work towards minimizing the number of projects, and currently my model is like the following:
- Desktop Application Project
- Desktop Application Installer Project
- Web Application Project
- Web Application Installer Project
- Business Logic Public Contracts Project
- Business Logic Platform Project(s)
For the business logic public contracts library, this project would contain as much business logic as I can stuff in a platform agnostic manner (in a portable class library, for example). Typically DTOs are placed here, alongside public types that contain re-usable business logic.
The platform-specific projects utilize the public contracts project. These kinds of projects will actually contain the database types, and will translate the DTOs to the underlying platform-specific data types.
|
|
|
|
|
Namespaces relates to the logical organisation of the code.
Assemblies relates to deployment, and can be governed by things like a plugin architecture, need for patch updates, versioning, reuse between different applications etc.
That's two different things, just like in UML where you can have both a logical view and a deployment view.
|
|
|
|
|
At some point, the set of folders or namespaces cries out (to me) for its own DLL ... as when I'm dealing with unique hardware devices or third-party APIs.
One also cannot have circular references with DLLs ... helps with keeping your "subject libraries" pure(r).
(Finally, limits my ability to blow my foot off with a hasty "project-wide" code change).
|
|
|
|
|
I come at this issue from an SCM viewpoint and while I think there are valid arguments to both separation and collapse, I tend to see many development efforts where the separation was based on how easy Visual Studio makes it. If the developers have discipline, this isn't necessarily a bad thing, but if not, you can quickly get spaghetti code.
I personally believe that all other things being equal, fewer artifacts is better. There are circumstances where they should split, but I default to not creating an extra assembly.
I'd recommend reading the 'White Book' Partitioning code base through .NET assemblies and Visual Studio projects found here:
NDepend White Books[^]
K.
|
|
|
|
|
The only point of multiple assemblies is if you want to use a part or parts of the projects in another environments. That is using shared libraries the way they've been used for decades now. Another reason would be if you want to run that stuff in a scalable cluster. One assembly does X, mutliple copies of the other assembly do Y and they communicate via some sort of IPC or network.
Outside of creating libraries because I actually need a library and outside of clusters, I always go with folders & namespaces. Because there's no reason to break up a single-responsibility project into multiple binaries. It only makes deployment more complex (albeit not much more) without any benefits.
|
|
|
|
|
This is likely a repost, but, eh, I don't care. A friend sent this to me, and I thought you lot might enjoy it.
The Night Watch[^]
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill
America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde
Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
|
|
|
|
|
" nobody is going to invent French if they're constantly being attacked by bears"
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Last night, we started a week long kid's program called "Ocean Commotion".
All of the leaders/adults are supposed to have 'ocean' related names.
My co-workers are: Sally Seaweed, etc.
I chose Sid Fishes... only a select group get it.
modified 14-Jun-16 8:17am.
|
|
|
|
|
We're doing that too at our VBS!
...and I get it Vicious.
|
|
|
|
|
Very good!
Anne.R.Kay (in the UK)
modified 14-Jun-16 8:54am.
|
|
|
|
|
In our lovely Waldorf-ee community, we get all sorts of amusing names. For example, A Mrs. Blue gave her daughter the first name of Sky.
Marc
|
|
|
|
|
A company I worked for employed a young man called Richard Head (what were his parents thinking?). And another one had a young lady called Annette Curtain. There was also a lady called Ann Winters, we speculated that she sold lingerie to Eskimos.
|
|
|
|
|
I know a Richard Head.
And also a James James. Think his parents had more of a screw loose.
|
|
|
|
|
A former co-worker was "Bambi Deere"
A friend's name is "Ken Doll" (he's older than the Mattel usage)
And I once met "Vinnie Barbarino" who had the name first (From "Welcome Back, Kotter"[^])
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
I once met a "Rocky Mountain"
And a heard of a woman who married into the name "Alison Allison"
Truth,
James
|
|
|
|
|
I know a Chris Cross, she married into it.
|
|
|
|
|
|
I can't wait to see pics of Nancy Nibbles.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I'm trying to download a service pack and Microsoft wants me to sign in. Yet the signin page redirects back to itself a couple of times and then says it can't do it. I try and go to Microsoft.com - just to view the homepage! - and it's trying to sign me in and fails with "Something went wrong and we can't sign you in right now. Please try again later" (and has since last night).
Something wrong with login.live.com or is it just me?
cheers
Chris Maunder
|
|
|
|
|
You have to sign-in via linkedin.com now
veni bibi saltavi
|
|
|
|
|
Nagy Vilmos wrote: You have to sign-in via linkedin.com now
Or worse, Farcebook!
Marc
|
|
|
|
|
First go to the reset for your microsoft login account username and password page.second you choose reason for password reset.third, Enter the email id for microfost addresss that email id end page hotmail.com or livemail.com.fourth, to have seen the screen for login character then click next. finally , If you've added security info to your account, we'll send a one-time code to the alternate phone number or email address you gave us. After you enter that code on the next screen, you'll be able to make a new password.
Hadoop Training | Tableau Training | Informatica Training
|
|
|
|
|
Yes.
Currently working on a MVC5 app, and refuses to login using IE (not redirecting to loginpage). Works fine using FF though.
--edit
https://login.microsoftonline.com[^] is not loading either - I can log in if I use "InPrivate" browsing, but not if I simply open IE normally.
A reboot (!) of the machine fixed the issue.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
modified 14-Jun-16 9:49am.
|
|
|
|
|
Works for me using Chrome (and Edge).
Phil
The opinions expressed in this post are not necessarily those of the author, especially if you find them impolite, inaccurate or inflammatory.
|
|
|
|
|
No problem here - except slow response...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|