26

Re: About confusion with repositories and DAO

Hello, Qulac, you wrote: G>> In List <T> there is a superfluous? Logic in different places? You about what generally? G>> If in the program the list of people is necessary to you, for example, that what for to fence something atop List <T>? Q> What for generally then the architecture on, sharing of interfaces and other, other is necessary. We after all about architecture speak or not? Then generally that it is not necessary, it is possible to write anyhow. The architecture it not when is a lot of patterns and when it is made it is exactly so much, how many it is necessary to solve the task and not to invent bicycles. G>> you should not test List <T>. And if samplings repeat, do an extension-method for List <Person>. Q> It is a special case of a solution of a problem, he does not solve a problem of too wide interface list who the husband is not in all languages. And in what interface List is too wide? And why it generally should be a problem?

27

Re: About confusion with repositories and DAO

Hello, gandjustas. In my opinion, you do not divide essence from their technical implementation. In an example with three data sources, all of them  itself same: data store. For system module which uses data store, what exactly is not important it (a DB, IList, a file or web service). All functional which concerns data access is hidden in the same place and outside is not shown. And here just  to the aid the object representing DAO. Its specific implementation can be different and  from level of put abstraction in architecture. It can be EF, and can be and simply object with simple CRUD the interface. To you this description is clear? In the text you permanently imply specific technical implementation though it, in the given case, has no value.

28

Re: About confusion with repositories and DAO

Hello, gandjustas, you wrote: G> Differently it as? Give an example. Well for example, 1 selects on one flag, 2 selects on two. The system , and logic of operation is defined dynamic. Storage at all IList.

29

Re: About confusion with repositories and DAO

Hello, another_coder, you wrote: _> Hello, gandjustas. _> In my opinion, you do not divide essence from their technical implementation. In an example with three data sources, all of them  itself same: data store. For system module which uses data store, what exactly is not important it (a DB, IList, a file or web service). All functional which concerns data access is hidden in the same place and outside is not shown. And here just  to the aid the object representing DAO. Its specific implementation can be different and  from level of put abstraction in architecture. It can be EF, and can be and simply object with simple CRUD the interface. , give was more specific. Let you have "data store" of employees. Actually it will be three different storages: 1) the List in storage - List <T> 2) the Database 3) the Web service which has only methods of obtaining and saving on ID. At you the task to lift to employees of a certain category the salary on 10 %. You design what interface of general-purpose "data store" for the decision of this task. It is natural to write certainly ineffective code - .

30

Re: About confusion with repositories and DAO

Hello, another_coder, you wrote: _> Hello, gandjustas, you wrote: G>> Differently it as? Give an example. _> well for example, 1 selects on one flag, 2 selects on two. The system , and logic of operation is defined dynamic. Storage at all IList. To make two functions not?

31

Re: About confusion with repositories and DAO

Hello, gandjustas, you wrote: G> As you hide these three in essence different operations behind one general-purpose interface? There is such word "abstraction", know? Let's recall its determination: the abstraction is technics of the analysis in whom essential aspects come to light, and insignificant are eliminated. How the abstraction in the object-oriented analysis works? You define aspects of behavior of the object, essential to the client, hiding (incapsulating) details, for it not the essential. How it works in a case with a pattern "repository" on an example of the operations mentioned by you? 1. To the client it is necessary foreach: the repository should be able to return the iterator on objects stored in it. It can be implemented at the expense of reversal to storage and caching of results for productivity optimization. If the storage - area of operative storage, a cache is not required, if remote service or a DBMS - it is possible to find data packages and to save in a cache. 2. Search in parameters is necessary to the client: the repository should give a method of search with parameters. Implementation will build the filter or to form request to storage - variants much. 3. To the client it is necessary : , but it normally becomes at business logic level (the transaction manager should use the general sessions together with all transactional services, not only with repositories, but also, for example, queues). If suddenly you decided to make nevertheless support of transactions by a repository part, it is necessary, certainly to implement its logic. G> in C# by the way invented such general-purpose interface - linq requests. But linq the provider very few people writes the, uses the ready. G> here and the answer to a question why pattern Repository is useless presently. LINQ represents the convenient interface of the description of possible requests to objects. In a case from a DB, such object is component DAL if is more exact - ORM. The fact of existence LINQ, generally speaking, means nothing. B>> the Task of any architectural pattern - a complexity fragmentation. Patterns DAL separate complexity of business logic from complexity of operation with data store by means of a different type of interfaces. G> normal functional decomposition too is engaged  complexities. For this purpose it is not necessary to create separate entities and patterns. Patterns standardize such decomposition, offering the typical approach to the decision of typical tasks. To refuse their usage there where it is justified, - to invent an unnecessary bicycle. B>> Repository abstracts a DB as collection G> It is the first and principal error.  objects in storage and the table in a DB possess in essence different properties from the point of view of the code even if it is possible to reduce them to one interface. From the point of view of a spherical horse in vacuum probably all. From the point of view of the specific client code of the basic distinctions can and not to be. B>> Architectural patterns are the interfaces which implementation can be any. G> cannot, at them contracts different. The contract is defined by the interface, instead of its implementation. Implementation is obliged to observe the contract on determination. B>> implementation in the form of storage in storage here simply convenient bun for early development cycles and units-tests. G> in itself adding of a repository at early stages - useless complication of the code. It is possible is banal to address to static lists in storage there will be no yet a necessity to save the data. At you ten classes working with storage of objects of type of A.Chto are easier - to change in one place implementation of the interface of storage of objects, or to change in all places operation with it from the list for something other? P.S. Give for more constructive talk we specify positions. I do not state that the repository is necessary always - more likely, I mean that this pattern has sense and application field, therefore the statement that it "is not necessary generally" is not true and is connected, more likely, with misunderstanding of this sense and application field.

32

Re: About confusion with repositories and DAO

Hello, gandjustas, you wrote: Q>> What for generally then the architecture on, sharing of interfaces and other, other is necessary. We after all about architecture speak or not? Then generally that it is not necessary, it is possible to write anyhow. G> architecture it not when is a lot of patterns and when it is made it is exactly so much, how many it is necessary to solve the task and not to invent bicycles. For this purpose also patterns are invented. The modern architecture is an interaction  entities, abstractions. And  patterns -  an ideal.

33

Re: About confusion with repositories and DAO

Hello, Baudolino, you wrote: B> Hello, gandjustas, you wrote: G>> As you hide these three in essence different operations behind one general-purpose interface? B> there is such word "abstraction", know? Let's recall its determination: the abstraction is technics of the analysis in whom essential aspects come to light, and insignificant are eliminated. You insignificant not declared that. Insignificant distinctions it to do Repository or extension-methods for List <T>. This distinction does not influence program characteristics. And the data source type very strongly influences. B> 1. To the client it is necessary foreach: the repository should be able to return the iterator on objects stored in it. It can be implemented at the expense of reversal to storage and caching of results for productivity optimization. If the storage - area of operative storage, a cache is not required, if remote service or a DBMS - it is possible to find data packages and to save in a cache. B> 2. Search in parameters is necessary to the client: the repository should give a method of search with parameters. Implementation will build the filter or to form request to storage - variants much. B> 3. To the client it is necessary : , but it normally becomes at business logic level (the transaction manager should use the general sessions together with all transactional services, not only with repositories, but also, for example, queues). If suddenly you decided to make nevertheless support of transactions by a repository part, it is necessary, certainly to implement its logic. Perfectly - you have a web service, normal web api with Get and Post on a key. And you  a repository with search in parameters. What further to do? Also it was necessary initially such to do it? G>> in C# by the way invented such general-purpose interface - linq requests. But linq the provider very few people writes the, uses the ready. G>> here and the answer to a question why pattern Repository is useless presently. B> LINQ represents the convenient interface of the description of possible requests to objects. In a case from a DB, such object is component DAL if is more exact - ORM. B> the Fact of existence LINQ, generally speaking, means nothing. The fact of existence ORM_ c support Linq means. Because Linq can hide behind the identical interface and the list in storages, and web services (with restrictions) and databases. But nobody will write such from zero for one application, it is necessary to use the ready. Therefore a pattern repository categorically not in a subject, it is necessary to use orm. B>>> the Task of any architectural pattern - a complexity fragmentation. Patterns DAL separate complexity of business logic from complexity of operation with data store by means of a different type of interfaces. G>> normal functional decomposition too is engaged  complexities. For this purpose it is not necessary to create separate entities and patterns. B> Patterns standardize such decomposition, offering the typical approach to the decision of typical tasks. To refuse their usage there where it is justified, - to invent an unnecessary bicycle. Repository an in itself bicycle in the presence of ORM. You still prove correctness of a repository in comparison with normal decomposition. B>>> Repository abstracts a DB as collection G>> It is the first and principal error.  objects in storage and the table in a DB possess in essence different properties from the point of view of the code even if it is possible to reduce them to one interface. B> from the point of view of a spherical horse in vacuum probably all. From the point of view of the specific client code of the basic distinctions can and not to be. The basic distinction in speed of operation. As soon as calls start to intersect  process it is necessary to watch closely as often happen reversal and how many the data is transferred. The brake shit otherwise turns out. And it too an architecture part. And much more important, than patterns. B>>> architectural patterns are the interfaces which implementation can be any. G>> cannot, at them contracts different. B> the contract is defined by the interface, instead of its implementation. You of that now told?  is wider than the interface. For example the interface cannot describe sajd-effects. For ORM the contract normally such - you work with a collection of objects in storage, and then cause function of saving of changes in a DB. Saving does not figure in the interface in any way. And you can erraticly think that the table in basis is equivalent List <T>, though it at all so. B>>> Implementation in the form of storage in storage here simply convenient bun for early development cycles and units-tests. G>> in itself adding of a repository at early stages - useless complication of the code. It is possible is banal to address to static lists in storage there will be no yet a necessity to save the data. B> At you ten classes working with storage of objects of type of A.Chto are easier - to change in one place implementation of the interface of storage of objects, or to change in all places operation with it from the list for something other? Who to you told about tens classes? B> P.S. Give for more constructive talk we specify positions. I do not state that the repository is necessary always - more likely, I mean that this pattern has sense and application field, therefore the statement that it "is not necessary generally" is not true and is connected, more likely, with misunderstanding of this sense and application field. I state that this pattern does not have application field because for a DB is ORM, and for remaining cases repository does not approach.

34

Re: About confusion with repositories and DAO

Hello, Sharov, you wrote: S> Hello, gandjustas, you wrote: Q>>> What for generally then the architecture on, sharing of interfaces and other, other is necessary. We after all about architecture speak or not? Then generally that it is not necessary, it is possible to write anyhow. G>> architecture it not when is a lot of patterns and when it is made it is exactly so much, how many it is necessary to solve the task and not to invent bicycles. S> for this purpose patterns also are invented. The modern architecture is an interaction  entities, abstractions. And  patterns -  an ideal. Libraries and components are for this purpose invented, and patterns are necessary when ready means are not present. But the large quantity of programmers instead of usage ready is molded by patterns, and then in them wrap ready components as the implementation are not capable to write and name it architecture.

35

Re: About confusion with repositories and DAO

Hello, gandjustas, you wrote: S>> For this purpose patterns also are invented. The modern architecture is an interaction  entities, abstractions. And  patterns -  an ideal. G> libraries and components are for this purpose invented, and patterns are necessary when ready means are not present. Half-truths. To play together invented libraries and components too it is necessary. Here many patterns and .

36

Re: About confusion with repositories and DAO

Hello, Sharov, you wrote: S> Hello, gandjustas, you wrote: S>>> For this purpose patterns also are invented. The modern architecture is an interaction  entities, abstractions. And  patterns -  an ideal. G>> libraries and components are for this purpose invented, and patterns are necessary when ready means are not present. S> Half-truths. To play together invented libraries and components too it is necessary. Here many patterns and . But not repository, about it talk, not?

37

Re: About confusion with repositories and DAO

Hello, Sharov, you wrote: S> Half-truths. To play together invented libraries and components too it is necessary. Here many patterns and . From practice - on the contrary. Good libraries are simply connected and used. And here if the author has been bitten by Fowler without crutches which transform  into the working code, not to manage. I yet did not see any case when the design "from patterns" would not be smashed at attempt of real usage. Even if the general design is thought perfectly over and behind ideas there is a solid background, all the same even the elementary things inevitably demand  helpers. Interested persons can argue to look at popularity Rx, TPL DataFlow or CodeContracts.

38

Re: About confusion with repositories and DAO

Hello, Sinix, you wrote: S> Hello, Sharov, you wrote: S>> Half-truths. To play together invented libraries and components too it is necessary. Here many patterns and . S> From practice - on the contrary." "It is necessary to replace many patterns with" some patterns ", it agree. Architecture happen different and sometimes it not simply connected 10 indirect libraries and use. S> good libraries are simply connected and used. And here if the author has been bitten by Fowler without crutches which transform  into the working code, not to manage. 1) architecture happen different and sometimes it not simply connected 10 indirect libraries and use. 2) libraries, except for base type io, , .  and so forth not from air undertake. S> I yet did not see any case when the design" from patterns "would not be smashed at attempt of real usage. Even if the general design is thought perfectly over and behind ideas there is a solid background, all the same even the elementary things inevitably demand  helpers. It already here was considered time 100500. I in no event (!!!) I do not urge to develop from patterns. But. These are typical decisions - time, it is some language of dialogue of developers - two. And mvc it generally a basis of all bases. At this forum all it was considered 3-4 years ago and suffices. S> interested persons can argue to look at popularity Rx, TPL DataFlow or CodeContracts. If I correctly understood your message: 1) this list can be added long; 2) sense to compare feeble marketing and engineering decisions? If it would be necessary, ms on force  it is all. Desires not . Here it is possible to think win32 the genius of engineering thought, however people used. : I wrote it, and as usual re-read messages on which I answer - that in this list does TPL, at it like all it is quite good? I precisely correctly understood your message?

39

Re: About confusion with repositories and DAO

Hello, Sharov, you wrote: S> It already here was considered time 100500. I in no event (!!!) I do not urge to develop from patterns. But. These are typical decisions - time, it is some language of dialogue of developers - two. And mvc it generally a basis of all bases. At this forum all it was considered 3-4 years ago and suffices. !

40

Re: About confusion with repositories and DAO

Hello, Sharov, you wrote: S> 1) Architecture happen different and sometimes it not simply connected 10 indirect libraries and use. If the library was written by the people who have mastered FDG - that is connected and used. Look on itself  - full excellent examples both good design, and good, but reheaped up. And here examples of discharge "do not do so generally" on fingers it is possible to enumerate and in the core it or the inheritance from fw 1.0 or to play attempt consequences in "we fashionable and modern" with.Net Core. S> 2) Libraries, except for base type io, , .  and so forth not from air undertake. Yes it is fine. Public API if it generally do purposefully, instead of a post factum - that a dial-up of good ideas from other similar libraries + editings by experience . Problems in the core arise, when decisions are outweighed in a forehead from other platforms by people who  know rather weakly. Here then yes - to embrace and cry S>> Interested persons can argue to look at popularity Rx, TPL DataFlow or CodeContracts. S> If I correctly understood your message: S> 2) sense to compare feeble marketing and engineering decisions? Not, I about convenience of usage - all set forth above demand to hold in a head mental model of the library (places the extremely illogical) and to retell the  in terms of this model. That puts the unambiguous cross on a little wide usage. For the sake of justice, Rx in itself very much even it is quite good, and fresh versions Code Contracts basically are almost suitable to usage in . But the backlog on start that there that there was  (sorry my French) is direct modelly. And a problem all the same that now with.Net Core - suddenly TM was clarified that the idea to hammer on real scenarios of usage a little bit does not work. S> if it would be necessary, ms on force  it is all. Desires not . Here it is possible to think win32 the genius of engineering thought, however people used. . And how many such masochists remain after appearance though any alternative? S> : I wrote it, and as usual re-read messages on which I answer - that in this list does TPL, at it like all it is quite good? I precisely correctly understood your message? Not TPL, and TPL Dataflow. At them the atmosphere

41

Re: About confusion with repositories and DAO

Hello, Qulac, you wrote: Q> And and here a DB, a DB at this subject. It is possible to look at title. And , yes, it is possible.

42

Re: About confusion with repositories and DAO

Hello, Baudolino, you wrote: IT>> Because in last years 8 there were more advanced modes of work from a DB. B> and it is possible it is more torn? What? The big uncles use recently exceptional LINQ.

43

Re: About confusion with repositories and DAO

Hello, Qulac, you wrote: Q> What for generally then the architecture on, sharing of interfaces and other, other is necessary. We after all about architecture speak or not? And what for the architecture and interfaces is necessary? For the answer to this question there is other more specific question for each specific case: - What problem is solved by specific sharing of interfaces, specific other and specific other other? Often it appears that sharing on interfaces becomes only for the sake of architecture and anything else. And then we ask an initiating question: - And what for such architecture is necessary? Q> then generally that it is not necessary, it is possible to write anyhow. Try. It is good to write anyhow a little at whom it turns out. It   programming. I while did not meet such people.

44

Re: About confusion with repositories and DAO

Hello, another_coder, you wrote: _> In an example with three data sources, all of them  itself same: data store. For system module which uses data store, what exactly is not important it (a DB, IList, a file or web service). , tell how many you personally wrote systems in which what exactly is unimportant there is a data source (a DB, IList, a file or web service)?

45

Re: About confusion with repositories and DAO

Hello, Sinix, you wrote: S> Hello, Sharov, you wrote: S>> 1) Architecture happen different and sometimes it not simply connected 10 indirect libraries and use. S> if the library was written by the people who have mastered FDG - that is connected and used. Look on itself  - full excellent examples both good design, and good, but reheaped up. And here examples of discharge "do not do so generally" on fingers it is possible to enumerate and in the core it or the inheritance from fw 1.0 or to play attempt consequences in "we fashionable and modern" with.Net Core. Itself  by the way also there is a basic library. There volens-nolens difficult decisions should not be. From the architectural point of view. S>> 2) libraries, except for base type io, , .  and so forth not from air undertake. S> yes it is fine. Public API if it generally do purposefully, instead of a post factum - that a dial-up of good ideas from other similar libraries + editings by experience . Problems in the core arise, when decisions are outweighed in a forehead from other platforms by people who  know rather weakly. Here then yes - to embrace and cry did not understand where again discussion came serious applications All in the slightest degree use a heap of libraries in imperative style ? Type: 1.1 () 2.3 () 1.2 ()... Or goes  on a little more abstract level. I.e. if . Indirect library or a component, patterns. Judging by discussion it turns out so. I do not see problems to use patterns and indirect components, if speech about it. S>>> interested persons can argue to look at popularity Rx, TPL DataFlow or CodeContracts. S>> If I correctly understood your message: S>> 2) sense to compare feeble marketing and engineering decisions? S> not, I about convenience of usage - all set forth above demand to hold in a head mental model of the library (places the extremely illogical) and to retell the  in terms of this model. That puts the unambiguous cross on a little wide usage. S> for the sake of justice, Rx in itself very much even it is quite good, and fresh versions Code Contracts basically are almost suitable to usage in . But the backlog on start that there that there was  (sorry my French) is direct modelly. And a problem all the same that now with.Net Core - suddenly TM was clarified that the idea to hammer on real scenarios of usage a little bit does not work. S>> : I wrote it, and as usual re-read messages on which I answer - that in this list does TPL, at it like all it is quite good? I precisely correctly understood your message? S> not TPL, and TPL Dataflow. At them the atmosphere I thought it an example not flied up .

46

Re: About confusion with repositories and DAO

Hello, IT, you wrote: IT> Hello, another_coder, you wrote: _>> In an example with three data sources, all of them  itself same: data store. For system module which uses data store, what exactly is not important it (a DB, IList, a file or web service). IT> Druzhishche, tell how many you personally wrote systems in which what exactly is unimportant there is a data source (a DB, IList, a file or web service)? The couple is.

47

Re: About confusion with repositories and DAO

Hello, IT, you wrote: IT> the Big uncles use recently exceptional LINQ. Between us, the big uncles, LINQ exists only on one, and not to the most popular platform.

48

Re: About confusion with repositories and DAO

Hello, gandjustas, you wrote: G> you insignificant not declared that. G> insignificant distinctions it to do Repository or extension-methods for List <T>. This distinction does not influence program characteristics. G> and the data source type very strongly influences. We begin that I insignificant declared nothing. I showed, as implementation details can be hidden in certain situations, but I did not state that it is always possible. You understand distinction between words "exists" and "always"? And their negation can construct and apply to our talk? G> it is excellent - you have a web service, normal web api with Get and Post on a key. And you  a repository with search in parameters. What further to do? G> also it was necessary initially such to do it? I think, it is necessary to begin that it "" you, instead of I. I do not stretch patterns on spherical horses. G> But nobody will write such from zero for one application, it is necessary to use the ready. Therefore a pattern repository categorically not in a subject, it is necessary to use orm. Your categoriality is meanwhile unfounded. G> Repository an in itself bicycle in the presence of ORM. And LINQ it your way ORM? And, by the way, how many different ORM you know (in sense used)? On what platforms? G> the basic distinction in speed of operation. As soon as calls start to intersect  process it is necessary to watch closely as often happen reversal and how many the data is transferred. The brake shit otherwise turns out. G> and it too an architecture part. And much more important, than patterns. The term "premature optimization" a sign? Where you saw intersection of "process boundaries" at pattern implementation? B>> the contract is defined by the interface, instead of its implementation. G> you of that now told? G> Kontrat is wider than the interface. For example the interface cannot describe sajd-effects. The interface should not describe ghost effects. From the point of view of the user of the interface of ghost effects should not exist is an axiom of OOP which is a high time for learning. G> for ORM the contract normally such - you work with a collection of objects in storage, and then cause function of saving of changes in a DB. Saving does not figure in the interface in any way. Function of saving of changes in a DB - an interface part. G> and you can erraticly think that the table in basis is equivalent List <T>, though it at all so. All of you time do any very strange and nothing well-founded opinions how I think, and produce unreasonable negations worthy switching-on in "the Female logic" Beklemisheva as an example of the rejected arguments. A sentence: instead of using type phrases "it at all so", you from this point on for discussion continuation will argue, why not so, in what circumstances? G>>> In itself adding of a repository at early stages - useless complication of the code. It is possible is banal to address to static lists in storage there will be no yet a necessity to save the data. B>> at you ten classes working with storage of objects of type of A.Chto are easier - to change in one place implementation of the interface of storage of objects, or to change in all places operation with it from the list for something other? G> who to you told about tens classes? We admit, at you about ten classes... The Ordinary situation on the large-scale project.

49

Re: About confusion with repositories and DAO

Hello, Baudolino, you wrote: B> Hello, gandjustas, you wrote: G>> you insignificant not declared that. G>> insignificant distinctions it to do Repository or extension-methods for List <T>. This distinction does not influence program characteristics. G>> and the data source type very strongly influences. B> we begin that I insignificant declared nothing. I showed, as implementation details can be hidden in certain situations, but I did not state that it is always possible. You understand distinction between words "exists" and "always"? And their negation can construct and apply to our talk? Wanted what to tell? G>> it is excellent - you have a web service, normal web api with Get and Post on a key. And you  a repository with search in parameters. What further to do? G>> also it was necessary initially such to do it? B> I think, it is necessary to begin that it "" you, instead of I. I do not stretch patterns on spherical horses. That is to you  important what data source? Then what for repository? G>> But nobody will write such from zero for one application, it is necessary to use the ready. Therefore a pattern repository categorically not in a subject, it is necessary to use orm. B> your categoriality is meanwhile unfounded. That is the objective reasons to use repository are not present? G>> Repository an in itself bicycle in the presence of ORM. B> And LINQ it your way ORM? On ours linq it query object, and ORM is the linq-provider, it repository in Fowler's determination. B> and, by the way, how many different ORM you know (in sense used)? On what platforms? Used EF, Linq2DB, Nhibernate, linq2sql on C#, FSharp. Data, Hibernate on java, and also wrote the ORM on Delphi, C# and a C ++. G>> the Basic distinction in speed of operation. As soon as calls start to intersect  process it is necessary to watch closely as often happen reversal and how many the data is transferred. Otherwise the brake shit turns out. G>> and it too an architecture part. And much more important, than patterns. B> the term "premature optimization" a sign? Where you saw intersection of "process boundaries" at pattern implementation? The term premature pessimization is familiar to me. When to please to patterns the code is written on the order to slower, than it could be. The intersection of boundaries of process happens hardly less than in each case, except storage in storage. And every second to write repository simply collection in storage projects it, as though it. Here pessimization which is the already extremely difficult for correcting also turns out. B>>> the contract is defined by the interface, instead of its implementation. G>> you of that now told? G>> Kontrat is wider than the interface. For example the interface cannot describe sajd-effects. B> the interface should not describe ghost effects. From the point of view of the user of the interface of ghost effects should not exist is an axiom of OOP which is a high time for learning. Give the reference to the one who proved this axiom. You seem to me OOP with  confuse also that incorrectly understand ghost effects in . Alan Kej and Bertran Meyer just in the determinations of OOP lean against ghost effects at interaction with objects. G>> for ORM the contract normally such - you work with a collection of objects in storage, and then cause function of saving of changes in a DB. Saving does not figure in the interface in any way. B> function of saving of changes in a DB - an interface part. Precisely? And if at us  a collection in storage? Or a web service? G>> and you can erraticly think that the table in basis is equivalent List <T>, though it at all so. B> All of you time do any very strange and nothing well-founded opinions how I think, and produce unreasonable negations worthy switching-on in "the Female logic" Beklemisheva as an example of the rejected arguments. A sentence: instead of using type phrases "it at all so", you from this point on for discussion continuation will argue, why not so, in what circumstances? I should sound your thoughts because you do not sound them and you communicate semihints. I already ceased to understand what position you try to defend. G>>>> in itself adding of a repository at early stages - useless complication of the code. It is possible is banal to address to static lists in storage there will be no yet a necessity to save the data. B>>> at you ten classes working with storage of objects of type And. What is easier - to change in one place implementation of the interface of storage of objects, or to change in all places operation with it from the list for something other? G>> who to you told about tens classes? B> it is admissible, at you about ten classes... The Ordinary situation on the large-scale project. Also what? We solve what task?

50

Re: About confusion with repositories and DAO

Hello, another_coder, you wrote: IT>> Druzhishche, tell how many you personally wrote systems in which what exactly is unimportant there is a data source (a DB, IList, a file or web service)? _> the Couple is. Tell about them.