tag:blogger.com,1999:blog-9049032025342264339.post204041432257568097..comments2024-03-29T10:44:10.455+03:00Comments on sadomovalex's blog: DDD in Sharepoint. Part1– philosophicalAlexey Sadomovhttp://www.blogger.com/profile/18112105989691733410noreply@blogger.comBlogger72125tag:blogger.com,1999:blog-9049032025342264339.post-45034419155786364512012-06-13T00:49:18.908+04:002012-06-13T00:49:18.908+04:00Stanislav,
thank you for all your comments and for...Stanislav,<br />thank you for all your comments and for your time, but we have to finish it sometime. Your position is clear for us. This is the last your comment I've restored from spam. Good luck.Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-34945012122293894982012-06-12T23:56:43.772+04:002012-06-12T23:56:43.772+04:00>> Creating custom solutions much more profi...>> Creating custom solutions much more profitable for outsourcing \ consulting companys.<br /><br />Outsourcing and consulting is very different. Outsourcers tends to do more to consume more money from customer. Consultants tends to do less work and give more profit to customers.<br /><br />For outsourcers custom solutions is good. No one else can support them.<br /><br />For consultants Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-8000639730238150642012-06-12T21:22:31.152+04:002012-06-12T21:22:31.152+04:00Summarizing all of this: there are people which fe...Summarizing all of this: there are people which feel that things which we discussed here can be useful. There are people which don't want to use DDD.<br />And no matter how many comments we will leave here - it won't change these positions.<br /><br />For those who are interesting I will write next parts. Those who do not want to use it - may ignore it. But I want all philosophical Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-4860067490435220382012-06-12T20:37:31.763+04:002012-06-12T20:37:31.763+04:00Eduard,
this is indeed good point. When you use OT...Eduard,<br />this is indeed good point. When you use OTB solution customers may replace you much simpler.<br />They may also replace you if won't be satisfied with custom solutions. So increasing the basic development skills is important. Large projects can't be done by IT pros only.Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-62843585020627163042012-06-12T20:23:44.710+04:002012-06-12T20:23:44.710+04:00> It's called integration testing.
> If...> It's called integration testing. <br />> If you want unit-testing it's almost pointless spending of resources<br /><br />exactly because of this I would like to stop this branch of discussion. We lost a lot of money trying to apply integration testing in Sharepoint, that's why I didn't want to discuss it. From my point of view this is "almost pointless spending of Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-31931005069213445602012-06-12T19:58:36.645+04:002012-06-12T19:58:36.645+04:00> It's only your opinion, not confirmed by ...> It's only your opinion, not confirmed by practice<br /><br />check my comment more carefully. It is not only my opinion - it is practice confirmed by years of Sharepoint development. And this is how we make business. When you will make business decisions, you may hire IT pros.Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-50375009969945569992012-06-12T19:54:21.763+04:002012-06-12T19:54:21.763+04:00> Are you reading comments, or just firs senten...> Are you reading comments, or just firs sentence? I provided solution with minimal delay. And asked what real delay is acceptable. In real world there is always a delay.<br /><br />yes, and expect the same from you. Read comments below about customer rules more carefully (I'm not interesting in delays between clicking on the button and committing transactions. Such example is obvious and Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-18832555495082699102012-06-12T19:46:25.771+04:002012-06-12T19:46:25.771+04:00I think when you talk about OTB vs custom solution...I think when you talk about OTB vs custom solutions you have conflict of interests. Creating custom solutions much more profitable for outsourcing \ consulting companys.Eduard Kiborthttps://www.blogger.com/profile/00243090066771303173noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-74225163327231231462012-06-12T19:33:55.417+04:002012-06-12T19:33:55.417+04:00> Why would I use SPHibernate, Fluent SPHiberna...> Why would I use SPHibernate, Fluent SPHibernate, SPHibernate Validator, SPHibernate Search, Linq 2 SPHibernate and SP{DDD_OR_OTHER_COOL_WORD_MIGHT_BE_HERE_AS_WELL} instead of Nintex/K2?<br /><br />use those thing which works better in your case. I don't want to force you to use DDD. Grow as IT pro and be happy. Do you want the true: there is no happy at all. There will be a lot of Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-26832279050299653082012-06-12T19:33:39.909+04:002012-06-12T19:33:39.909+04:00Try to discuss subject, not person.
>>noho...Try to discuss subject, not person. <br /><br />>>nohow, because initially Sharepoint is not testable system<br /><br />Oo<br />You cant write small code to add list item and catch exception? <br />It's called integration testing. <br /><br /><br />If you want unit-testing it's almost pointless spending of resources. Most of SharePoint code calls SharePoint API, you need put a lot Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-72602154918982644852012-06-12T19:24:13.632+04:002012-06-12T19:24:13.632+04:00Are you reading comments, or just firs sentence? I...Are you reading comments, or just firs sentence? I provided solution with minimal delay. And asked what real delay is acceptable. In real world there is always a delay.<br /><br />All notable books about DDD and OO design I've read about 5 years ago. There are not to much books. For many years I don't saw any big and successful project built totally with DDD.<br />But saw a lot of Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-68705378091529780682012-06-12T19:18:30.592+04:002012-06-12T19:18:30.592+04:00yes, very true
but result may be loosing of custom...yes, very true<br />but result may be loosing of customer. I do not write DDD code, I make money, and customer happiness is _really_ important for me.Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-74863806842456072812012-06-12T19:13:43.909+04:002012-06-12T19:13:43.909+04:00Станислав Выщепан,
> SharePoint can be tested w...Станислав Выщепан,<br />> SharePoint can be tested without abstractions. Abstractions can't be tested without SharePoint<br />such sentenses just show that you do not familar good enough with the subjects where you try to discuss, sorry. And I do not have time/wish to explain it. People should have own head.<br /><br />> For example how you will test repository for list if list have Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-3165495976392065892012-06-12T19:13:27.980+04:002012-06-12T19:13:27.980+04:00In terms of code structuring OOTB features are awf...In terms of code structuring OOTB features are awful. But in terms of manageability, scalability, extensibility (sometimes) and business problem solving they are great. <br /><br />I always use SharePoint ECM features to prove this. It's build with very simple foundation: lists, libraries, content types, timer jobs and uses search. You can write very small amount of code to extend this Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-39989302532146516762012-06-12T19:01:24.523+04:002012-06-12T19:01:24.523+04:00Specialist always can argue his decision to non-sp...Specialist always can argue his decision to non-specialist, even if decision is wrong ;)Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-43235926864830984192012-06-12T18:58:10.913+04:002012-06-12T18:58:10.913+04:00ITpros don't write much code. They don't k...ITpros don't write much code. They don't know write large code and fail early. They write at maximum event receiver in 10 lines of code. This code may be thrown away and rewritten if requirements changed. There no need to support and maintain this code. <br /><br />Spaghetti code always written by hardcore developers.<br /><br /><br />>>for me best Sharepoint specialist are people Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-1177749939942183742012-06-12T18:50:50.644+04:002012-06-12T18:50:50.644+04:00Станислав Выщепан,
> What is "delay"?...Станислав Выщепан,<br />> What is "delay"?<br />try to turn on your own head, Ok? It is become annoying to chew everything. I know that it is hard when there is no "plugin" for this life situation and when nobody will solve the problem for you.<br /><br />> I know only one type of projects successful with DDD - trivial projects. In simple project cost of abstractions is Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-79338294712459504762012-06-12T18:47:17.056+04:002012-06-12T18:47:17.056+04:00SharePoint can be tested without abstractions. Abs...SharePoint can be tested without abstractions. Abstractions can't be tested without SharePoint.<br /><br />For example how you will test repository for list if list have validation rules?Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-19904333968802397192012-06-12T18:32:21.586+04:002012-06-12T18:32:21.586+04:00code expressed in content types/fields/workflows/C...code expressed in content types/fields/workflows/CQWP/InfoPath/Search doesn't say anything for business in terms of business. It is not clean, logic is spreaded across many places, it is not testable, it is hard to maintain.<br />You have to use it in Sharepoint, but it is not related with DDD.<br /><br />BTW - do you and Stanislav really think that OTB features in Sharepoint are so well Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-31714687285193207512012-06-12T18:15:14.432+04:002012-06-12T18:15:14.432+04:00preventing further questions: I always try to expl...preventing further questions: I always try to explain alternatives and advantages/disadvantages of OTB solutions so customers may make decision themselves. Anyway - you have to play by customers rules.Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-65512156891596083982012-06-12T18:13:06.689+04:002012-06-12T18:13:06.689+04:00I think here were are talking about cases when imp...I think here were are talking about cases when important business requirements do no fit very good for Sharepoint. And you have to live with that - i.e. you are playing by customers rules.<br />In such cases boundaries of platform will be expanded rather than business requirements will be changed (in my blog you may find many examples of such expanding). Probably it is different approach from Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-70878838936605564362012-06-12T17:58:19.532+04:002012-06-12T17:58:19.532+04:00Станислав Выщепан, avishnyakov,
as you are writing...Станислав Выщепан, avishnyakov,<br />as you are writing about similar things, I will answer to both of you:<br /><br />> NO. Worst SharePoint solutions I saw was made by hardcore developers. Best solutions was done by IT pros who knows SharePoint feature and understands SharePoint.<br /><br />this is from your experience. From my - IT pros (thanks for reminding this term) make shit spaghetti Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-45323979262348311952012-06-12T17:30:21.013+04:002012-06-12T17:30:21.013+04:00> Why do you need independence of storage? What...> Why do you need independence of storage? What profit gives it to you? Most of feature relies on storage. <br />testable code<br /><br />> Why do you need mapping to objects? Can you create queries in terms of objects?<br />in order to write code in DDD style. Above I wrote why all of this is important (from my point of view)Alexey Sadomovhttps://www.blogger.com/profile/18112105989691733410noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-16593161964803483252012-06-12T16:12:22.659+04:002012-06-12T16:12:22.659+04:00If DDD used as methodology for creating Ubiquitous...If DDD used as methodology for creating Ubiquitous Language, i.e. map business terms to SharePoint terms and create abstractions when it's necessary, then DDD is good. But when DDD starts with creating POCO classes and repositories it leads to poor solutions.Anonymoushttps://www.blogger.com/profile/09854982369318795067noreply@blogger.comtag:blogger.com,1999:blog-9049032025342264339.post-28380403711260928512012-06-12T15:20:00.667+04:002012-06-12T15:20:00.667+04:00This comment has been removed by the author.Antonhttps://www.blogger.com/profile/06879182556730306324noreply@blogger.com