'. '

Search results

From APIDesign

You searched for APIDesignPatterns:Evolution

Jump to: navigation, search

For more information about searching APIDesign, see Help.

Showing below 47 results starting with #1.


View (previous 50) (next 50) (20 | 50 | 100 | 250 | 500)

No page title matches

Page text matches

  1. The Future (2,302 bytes)
    3: ... for all of us, if our systems were designed with evolution in mind. I hope this book will provoke discussion...
    16: ...r coding practices, better libraries and better [[APIDesignPatterns|API Design Patterns]] make tough tasks, originall...
  2. OlderBlogPosts (111,273 bytes)
    365: Is [[Builder]] better [[APIDesignPatterns|pattern]] than [[CumulativeFactory]]? As Radim an...
    369: ==== Cumulative Factory [[APIDesignPatterns|API Design Pattern]] ====
    371: ... [[APIDesignPatterns|API Design Pattern]]. Read [[APIDesignPatterns:CumulativeFactory|more]]...
    384: Casper Bang asked following question about [[APIDesignPatterns:Exceptions|exceptions in API]] after reading the ...
    388: ...estion! Inspiring. Here are my current answers: [[APIDesignPatterns:Exceptions|exceptions in API]].
  3. Case Study of Writing the Extensible Visitor Pattern (595 bytes)
    3: ...g [[APIDesignPatterns]] - it may not be ready for evolution. For example the well known [[wikipedia::Visitor_...
  4. SignatureTests (3,631 bytes)
    42: ...l). We still need a language that will give use [[evolution]] capabilities while letting us act in almost [[c...
    51: [[Category:Tools]] [[Category:APIDesignPatterns:Test]]
  5. Evolving the API Universe (1,068 bytes)
    3: ...t have to! If you design your API to be ready for evolution, you can resuscitate even bad design of your brok...
    5: ...ns [[Singletonizer]], an interesting creational [[APIDesignPatterns|API design pattern]]. However more information is...
  6. RequestResponse (2,479 bytes)
    1: [[APIDesignPatterns|API Design pattern]] that solves the problem of g...
    5: ==== Evolution Story ====
    7: ...o be implemented. From this interface we have two evolution paths:
    23: [[Category:APIDesignPatterns]]
    24: [[Category:APIDesignPatterns:Evolution]]
  7. Have You Ever Wondered (13,635 bytes)
    25: ...mmon worries. It analyses the differences between evolution of APIs targeted to different clients, analyses w...
    42: ...t have to! If you design your API to be ready for evolution, you can resuscitate even bad design of your brok...
    48: ...g [[APIDesignPatterns]] - it may not be ready for evolution. For example the well known [[wikipedia::Visitor_...
    52: ...or all of us, if our systems were designed with [[evolution]] in mind. I hope [[TheAPIBook|this book]] will p...
  8. APIDesignPatterns:Exceptions (8,610 bytes)
    29: ...- your options for [[Ever_Changing_Targets|future evolution]] will remain more open.
    31: ...rt, exceptions are classes. They shall follow the evolution rules applicable to classes, as discussed in [[Co...
    37: ...me Aspects of APIs, from the point of view of API evolution, there is no difference. When a method in a libra...
    89: Exceptions are [[APIDesignPatterns:ExceptionExtensibility|easily extensible]] via su...
    92: [[Category:APIDesignPatterns]]
  9. Evolution (51 bytes)
    1: #REDIRECT [[:Category:APIDesignPatterns:Evolution]]
  10. ClientAPI (1,758 bytes)
    3: ...rence between [[ClientAPI]] and [[ProviderAPI]] [[evolution]] rules. As soon as you publish an [[API]], you, ...
    22: [[Category:APIDesignPatterns]]
    23: [[Category:APIDesignPatterns:Evolution]]
  11. ProviderAPI (3,010 bytes)
    29: [[Category:APIDesignPatterns]]
    30: [[Category:APIDesignPatterns:Evolution]]
  12. APIFest08:Report (10,858 bytes)
    11: ... me their hacks showing [[BackwardCompatibility]] evolution problems in many solutions.
    37: ...r as the solution 07 is based on a variation of [[APIDesignPatterns:RequestResponse|request/response]] pattern, it st...
  13. ExceptionExtensibility (3,165 bytes)
    1: It has been mentioned in the [[APIDesignPatterns:Exceptions|page about exceptions]] that changing ...
    58: ...ss exposed in the API. This is much more pleasant evolution than for example the one available with [[Talk:Bl...
    60: [[Category:APIDesignPatterns]]
    61: [[Category:APIDesignPatterns:Evolution]]
    62: [[Category:APIDesignPatterns:Exceptions]]
  14. Builder (2,761 bytes)
    1: ...''finishing'' the [[API]] calls by final use of [[APIDesignPatterns:Factory|factory method]] makes a lot of sense.
    11: ...s can be chained. Alternatively one can use the [[APIDesignPatterns:CumulativeFactory|cumulative factory]] and always...
    21: ... characteristics are similar to the ones of the [[APIDesignPatterns:CumulativeFactory|cumulative factory]] pattern. Y...
    25: [[Category:APIDesignPatterns]]
    26: [[Category:APIDesignPatterns:Creational]]
  15. Factory (898 bytes)
    5: This has few benefits from the point of [[API]] [[evolution]]:
    6: ... is not subclassable, which solves a lot of nasty evolution problems by itself
    12: [[Category:APIDesignPatterns]]
    13: [[Category:APIDesignPatterns:Creational]]
    14: [[Category:APIDesignPatterns:Encapsulation]]
  16. PropertyFiles (5,584 bytes)
    1: ...[[BackwardCompatibility]], be ready for [[API]] [[evolution]], etc.
    25: ===== Ready for [[Evolution]] =====
    27: ... when designing an [[API]] is to prepare it for [[evolution]]. Why? Because first version is never perfect, y...
    29: ...etimes hard to remind ourselves of the need for [[evolution]], especially when we are about to release the fi...
    33: ...at point it became clear that there is need for [[evolution]]. It is necessary to indicate whether the [[API]...
  17. AlternativeBehavior (6,943 bytes)
    134: [[Category:APIDesignPatterns]]
    135: [[Category:APIDesignPatterns:Evolution]]
  18. ClarityOfTypes (6,491 bytes)
    42: ...] and moreover they are well set for future, as [[evolution]] story of this pattern is quite good.
    44: === Evolution Aspects ===
    46: ... of [[DelegationAndComposition]] is useful from [[evolution]] point of view. It is easy to evolve the [[Clien...
    48: It is easy to [[evolution|evolve]] the ''Callback'' contract as well. It is...
    50: ...rface. But that is quite well thought [[evolution|evolution plan]].
  19. ImplementOnlyInterface (5,877 bytes)
    1: ...able. Each of these [[API]] types has different [[evolution]] characteristics. Also the [[clarity]] of such i...
    71: [[Category:APIDesignPatterns]]
    72: [[Category:APIDesignPatterns:Clarity]]
    73: [[Category:APIDesignPatterns:Creational]]
  20. Adaptable (531 bytes)
    11: [[Category:APIDesignPatterns]]
    12: [[Category:APIDesignPatterns:Evolution]]
  21. ClearDefinitionOfVersion (1,810 bytes)
    19: This is one of [[APIDesignPatterns|the patterns]] where usage of [[Java]] interfaces...
    21: [[Category:APIDesignPatterns:Clarity]]
    22: [[Category:APIDesignPatterns:Evolution]]
  22. Visitor (3,438 bytes)
    1: ...rious approaches to implement [[visitor]] in an [[evolution|evolvable]] [[API]]. The learning path itself is ...
    39: [[Category:APIDesignPatterns]]
    40: [[Category:APIDesignPatterns:Evolution]]
  23. ImplementationCompatibilityTest (860 bytes)
    14: ...Category:APIDesignPatterns:Evolution]] [[Category:APIDesignPatterns:Test]]
  24. ExtendingInterfaces (3,563 bytes)
    39: ...ern]] to start with, it is better to count with [[evolution]] and split [[ClientAPI]] and [[ProviderAPI]] as ...
    41: ...:APIDesignPatterns]] [[Category:APIDesignPatterns:Evolution]]
    42: [[Category:APIDesignPatterns:Anti]]
  25. MetaDesign (3,767 bytes)
    20: ...e ''opening ceremony''. Whether it is ready for [[evolution]], whether it is used properly by its [[cluelessn...
    35: [[Category:APIDesignPatterns:Meta]]
  26. Excel (5,816 bytes)
    23: ...uring the whole talk about [[DSL]]s vs. Library [[APIDesignPatterns|design]] I tried to argue that the important thin...
    28: ...ernal DSL can provide a cleaner syntax, a cleaner evolution path, and hence better adoption. Apex has been e...
  27. AssemblableTypes (4,972 bytes)
    51: ...Category:APIDesignPatterns:Evolution]] [[Category:APIDesignPatterns:Meta]]
  28. APIvsSPI (6,917 bytes)
    13: The worst thing (with respect to [[evolution]]) an [[API]] designer can make is to create a ty...
    15: ...et a ''fixed point'' - e.g. no changes allowed. [[Evolution]] prevented (only [[ExtendingInterfaces]] approac...
    29: ...is perfect. On the other hand, we are sure some [[evolution]] will be needed. Thus we associate this ''fixed ...
    59: ...mplicated use-cases that may require more complex evolution.
    83: ...s new ''open space'' (so it is ready for future [[evolution]]). The whole set up is displayed on the picture ...
  29. Incremental deployment (6,423 bytes)
    44: [[Category:APIDesignPatterns:Evolution]]
  30. OrderOfElements (7,000 bytes)
    81: ...Category:APIDesignPatterns:Evolution]] [[Category:APIDesignPatterns:Anti]]
  31. Covariance (2,199 bytes)
    26: [[Category:APIDesignPatterns]]
    27: [[Category:APIDesignPatterns:Evolution]]
  32. Contravariance (1,344 bytes)
    24: [[Category:APIDesignPatterns]]
    25: [[Category:APIDesignPatterns:Evolution]]
  33. InvisibleAbstractMethod (2,599 bytes)
    1: ...ubclass it. This can be considered as [[good]] [[:APIDesignPatterns|API design pattern]], especially if such pattern ...
    46: [[Category:APIDesignPatterns:Evolution]]
    47: [[Category:APIDesignPatterns:Anti]]
  34. Vendor library (2,600 bytes)
    9: ...:APIDesignPatterns]] [[Category:APIDesignPatterns:Evolution]]
  35. Final interface (8,284 bytes)
    1: ...er in [[Javadoc]] or in better places) with the [[evolution]] plan to expand it incompatibly (from the point ...
    7: ...r with (the only) implementation you don't have [[evolution]] and versioning problems - the [[proximity]] is ...
    91: ...AnnotationProcessor]] is finally real [[:Category:APIDesignPatterns|API Design Pattern]]!
    93: ...esignPatterns:Anti]] [[Category:APIDesignPatterns:Evolution]]
  36. GradleWrapper (1,490 bytes)
    3: ...in it. Only then your [[API]] becomes ready for [[evolution]]''!
    9: [[Category:APIDesignPatterns]]
    10: [[Category:APIDesignPatterns:Anti]]
    11: [[Category:APIDesignPatterns:Evolution]]
  37. ConfigurationObject (9,368 bytes)
    1: ...n and again: optimistically ignore the need for [[evolution]]! Usual history of an [[API]] starts with introd...
    23: ...it is time to switch to [[ConfigurationObject]] [[APIDesignPatterns|design pattern]]:
    208: [[Category:APIDesignPatterns]]
    209: [[Category:APIDesignPatterns:Creational]]
    210: [[Category:APIDesignPatterns:Encapsulation]]
  38. ChameleonBuilder (6,213 bytes)
    9: ...ibutes. However this has the typical drawbacks to evolution of [[factory]] methods - the order of parameters ...
    68: ... during execution. Thus the performance of this [[APIDesignPatterns|API Design Pattern]] is the same of plain builder...
    86: ... a single return type in [[Java]]. As such this [[APIDesignPatterns|API pattern]] only works for a single ''essential...
    105: [[Category:APIDesignPatterns]]
    106: [[Category:APIDesignPatterns:Creational]]
  39. WhiningBuilder (7,716 bytes)
    108: === [[Evolution]] ===
    110: An interesting question from an [[evolution]] point of view: what happens when we need to add...
    123: ... their code is wrong and needs additional tweaks. Evolution of this pattern works nicely with respect to [[bi...
    127: [[Category:APIDesignPatterns]]
    128: [[Category:APIDesignPatterns:Creational]]
  40. DefaultMethods (7,796 bytes)
    11: Later an [[evolution]] of the [[API]] may require one to add new metho...
    67: ...presents a snapshot of a protocol at a time, it [[evolution|evolves]] (which is what we wanted), but also wit...
    73: .... Moreover when we look at the concept from the [[evolution]] point of view, it may get even fuzzier.
    99: ...gnPatterns:Clarity]] [[Category:APIDesignPatterns:Evolution]]
  41. DesignForJDK9 (13,551 bytes)
    237: ...Category:APIDesignPatterns:Evolution]] [[Category:APIDesignPatterns]]
  42. Visitor18 (872 bytes)
    7: [[Category:APIDesignPatterns]]
    8: [[Category:APIDesignPatterns:Evolution]]
  43. CodeCoverage (5,326 bytes)
    65: ...simulated only if two [[mozilla]] browsers and an evolution client was running as then the memory was small e...
    70: [[Category:APIDesignPatterns:Tests]]
  44. Default Listener Methods (2,732 bytes)
    39: ...gnPatterns:Clarity]] [[Category:APIDesignPatterns:Evolution]]
  45. BinaryCompatibleDefaultMethods (6,828 bytes)
    106: That'd be completely [[BinaryCompatible]] evolution. People would have to write ''seq.is().empty()'' ...
    110: Moreover this kind of [[evolution]] "mounts" an open space of [[ClientAPI]] on the ...
    125: [[Category:APIDesignPatterns]]
    126: [[Category:APIDesignPatterns:Evolution]]
  46. ScienceOfAPIDesign (4,324 bytes)
    6: of provably correct [[evolution]]. My [[APIDesignPatterns]] aim at 100% [[BackwardCompatible]]
    7: [[evolution]] - e.g. even if one knows what will happen in th...
    11: Of course 100% compatible [[evolution]] may sound a bit ''too demanding'' for regular b...
  47. Genetics (6,409 bytes)
    1: ...t recently came up when I was trying to use the [[Evolution]] vs. [[Intelligent design]] argument among my co...
    3: ...uccess is to create a system that blossoms with [[evolution]] rather than prescribing what shall be the resul...
    5: ...ches starts with a thought: ''The core concept of evolution is pretty much copy an existing thing with only m...
    14: In order to practice [[evolution]] the nature allows copying, mixing and even rand...
    16: ... [[genetics]] - it can no longer participate in [[evolution]] and reproduce further.

View (previous 50) (next 50) (20 | 50 | 100 | 250 | 500)



Search in namespaces:

List redirects
Search for
Views
buy