-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcollections-impl_7.html
44 lines (44 loc) · 3.14 KB
/
collections-impl_7.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for Mac OS X (vers 25 March 2009), see www.w3.org" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Scala コレクションのアーキテクチャ -- まとめ</title>
<link rel="stylesheet" type="text/css" href="guide.css" />
</head>
<body dir="ltr">
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#99CCFF"><a href="collections-impl_8.html"><img border="0" alt="目次" src="next.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections-impl_0.html"><img border="0" alt="トップ" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections-impl_6.html"><img border="0" alt="新しい集合やマップの参入" src="previous.png" /></a></td>
<td align="center" bgcolor="#99CCFF" width="100%"><b>まとめ</b></td>
<td bgcolor="#99CCFF" align="center" class="tocref"><a href="collections-impl_8.html">目次</a></td>
</tr>
</table>
<h1>まとめ</h1>
<p>新しいコレクションのクラスをフレームワークに完全に織り込みたい場合に気をつける点を以下にまとめた:</p>
<ol>
<li>コレクションが可変であるべきか不変であるべきかを決める。</li>
<li>コレクションの適切な基底トレイトを選ぶ。</li>
<li>適切な実装トレイトを継承することでコレクション演算の大部分を実装する。</li>
<li><tt>map</tt> などの演算がこのコレクションのインスタンスを返して欲しければ、このクラスのコンパニオンオブジェクトで暗黙の値 <tt>CanBuildFrom</tt> を提供する。</li>
</ol>
<a name="id1" id="id1"> </a>
<p>これで Scala のコレクションがどのように構築されたのか、またどうすれば新しい種類のコレクションを構築できるのかが分かったと思う。Scala の豊富な抽象化のサポートにより、新しいコレクションは多量のメソッドを一から再実装すること無く手に入れることができる。</p>
<p><b>謝辞</b></p>
<p>これらのページは Odersky、Spoon、Venners による <a href="http://www.artima.com/shop/programming_in_scala">Programming in Scala</a> 第二版からの内容を含む。我々は Artima 社がこの文書の公開を快諾してくれたことをここに感謝したい。</p>
<hr />
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td bgcolor="#99CCFF"><a href="collections-impl_8.html"><img border="0" alt="目次" src="next.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections-impl_0.html"><img border="0" alt="トップ" src="up.png" /></a></td>
<td bgcolor="#99CCFF"><a href="collections-impl_6.html"><img border="0" alt="新しい集合やマップの参入" src="previous.png" /></a></td>
<td align="center" bgcolor="#99CCFF" width="100%"><b>まとめ</b></td>
<td bgcolor="#99CCFF" align="center" class="tocref"><a href="collections-impl_8.html">目次</a></td>
</tr>
</table>
</body>
</html>