2023-10-09から1日間の記事一覧

ソフトウェは抽象化のレイヤーを順番に渡り歩いている

「Chapter 7 Different Layer, Different Abstraction Software systems are composed in layers, where higher layers use the facilities provided by lower layers. In a well-designed system, each layer provides a different abstraction from the la…

actionを分離する

この行為は賛成だけど 統合とはまた違う話のようだ 6.7あたりからそれを感じる 「Some of the student projects implemented the entire undo mechanism as part of the text class. The text class maintained a list of all the undoable changes. It auto…

特殊性を上のクラスに持っていく

One way to separate specialized code is to push it upwards. The top-level classes of an application, which provide specific features, will necessarily be specialized for those features. But this specialization need not percolate down into …

どうすれcleanになるか

「What is the simplest interface that will cover all my current needs? If you reduce the number of methods in an API without reducing its overall capabilities, then you are probably creating more general-purpose methods. The special-purpos…

cleanである場合どうなるか

「It is easier to recognize a clean general-purpose class design than it is to create one. Here are some questions you can ask yourself, which will help you to find the right balance between general-purpose and special-purpose for an inter…

なにをいつ誰が知る必要があるか

One of the most important elements of software design is determining who needs to know what, and when. When the details are important, it is better to make them explicit and as obvious as possible, such as the revised implementation of the…