356 reputation
312
bio website
location
age
visits member for 2 years, 11 months
seen 12 hours ago

Apr
17
comment Is ClickOnce Deployment deprecated?
GotoMeeting actually uses it too I believe.
Apr
17
comment Is ClickOnce Deployment deprecated?
ClickOnce should provide many of the same deployment benefits as web sites. There should be a log you can examine to see what went wrong, it could be that the app is requiring .net 2,which isn't installed on windows 7 but can be.
Apr
17
comment Is ClickOnce Deployment deprecated?
Making an internal app a web app is normally a poor choice. Desktop apps are far more mature, have better controls and easier to build and support (ie, cheaper).
Apr
17
comment Password hashing and support to your user
Storing unencrypted passwords in your db I would consider negligent at best. If your password db is compromised it usually helps compromise the users other accounts.
Apr
17
awarded  Civic Duty
Apr
17
comment When is it worth NOT using a Factory?
"Using new seems to violate everything I know that I've learned since I started using TDD.". When did OO change such that the new operator is seen as an evil to bevavoided at all costs?
Apr
14
comment Rich domain model and container services
I think at some point you need to be pragmatic about things. I wouldn't expect the ui layer to need to figure what the domain object needs to do its job, those really feel like implementation details to me that the ui shouldn't know. So you can use service locator or build a factory class that delegates the creation to a container. At the end of the day something needs to actually new the object right?
Apr
14
comment Rich domain model and container services
Great answer, and thanks for stating that SRP doesn't literally mean the domain object does exactly one thing. Too many people make SRP out to mean a class can do exactly one thing and nothing else...
Apr
14
comment Rich domain model and container services
I'm not familiar with Spring, but you would either go the normal DI route and have the container create your BO, have a factory that creates your BO, or your BO can use a service locator. It depends somewhat on what technology you're using and also what you're comfortable with.
Apr
14
comment Rich domain model and container services
A rich domain object will be unable to do anything interesting if you force a no dependencies rule on it. The trick is for dependencies to be interfaces, not concrete types, which allows you to mock them for testing or plug in new implementations.
Apr
13
comment Persistence frameworks and common sense
@RobertHarvey It depends on who you ask. For trivial apps sure, but for more complex apps mapping your business / domain objects directly forces you to design your business / domain objects around the data, and reuse becomes about data, not behavior. I like ORMs, if used correctly, because you have a strongly typed layer to access your data which can easily be code genned. You can then really quickly find out that some column has disappeared by compiling.
Apr
12
comment Persistence frameworks and common sense
@Brandon The problem is not the ORM the problem is how its being used. Domain objects should not be mapped to a db using an ORM.
Apr
10
comment S.O.L.I.D., avoiding anemic domains, dependency injection?
Actually I think this does leave us with an anemic domain model... its not even really OO anymore, Vehicle could be directly translated to a C struct typedef and the calculator just a function in a namespace not attached to anything.
Apr
7
comment MVC : Fully populated models or Partially Filled Models?
One class that does everything operation for customers is a bad idea as it will be difficult to maintain.
Apr
7
comment MVC in a desktop application - can the View ever hold a reference to the Model?
You might want to also include MVVM, which is the preferred pattern for WPF.
Apr
6
comment Are there flavours of OOP where some or all of the SOLID principles are antithetical to clean code?
+1 By definition almost, a highly flexible system must be less maintainable than one which is less flexible. Flexibility comes at a cost due to the added complexity it brings.
Apr
6
answered How much time do software developers have to spend outside of work learning new material?
Mar
24
comment From a TDD perspective, am I a bad person if I test against a live endpoint instead of a mock?
@soru "The problem, however, is that when those aspects do change, their specification is implicit and distributed amongst the tests of all clients. Which are likely to not get updated, and so sit there silently hiding a bug behind a green tick". I know what you're getting at but tests can never prove the absence of defects. The benefit of this testing then is that when the defect finally does surface you have an easy place to setup the specific case that causes failure, prove the failure, fix it and show its now fixed. You also have a record of how the system should behave.
Mar
24
comment From a TDD perspective, am I a bad person if I test against a live endpoint instead of a mock?
Yes. Yes you are.
Mar
24
comment Building presentation layer directly on data layer
@aragaer A controller I would put in the UI layer, not the data layer. Authorization is a business rule, like any other as its the business that decides the roles and what they mean typically. The question is what would happen if you deleted your UI project from the solution? Would you lose just your UI stuff, or would you also lose other logic fundamental to your use cases as well?