E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
研磨设计模式
读《
研磨设计模式
》-代码笔记-迭代器模式-Iterator
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.Arrays; import java.util.List; /** * Iterator模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示 * * 个人觉得,为了不暴露该
bylijinnan
·
2012-09-26 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-组合模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; abstract class Component { public abstract void printStruct(Str
bylijinnan
·
2012-09-26 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-中介者模式-Mediator
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /* * 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。 * 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 * * 在我看来,Mediator模式是把多个对象(
bylijinnan
·
2012-09-26 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-观察者模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; import java.util.Observable; import java.util.Observer; /** * “观
bylijinnan
·
2012-09-26 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-适配器模式-Adapter
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 适配器模式解决的主要问题是,现有的方法接口与客户要求的方法接口不一致 * 可以这样想,我们要写这样一个类(Adapter): * 1.这个类要符合客户的要求 ---> 那显然要
bylijinnan
·
2012-09-26 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-外观模式-Facade
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /* * 百度百科的定义: * Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面, * 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面 * * 可简单地
bylijinnan
·
2012-09-25 23:00
java
设计模式
读《
研磨设计模式
》-代码笔记-解释器模式-Interpret
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象 * * 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值 * 多
bylijinnan
·
2012-09-23 23:00
java
设计模式
读《
研磨设计模式
》-代码笔记-备忘录模式-Memento
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; /* * 备忘录模式的功能是,在不破坏封装性的前提下,捕获一个对象的内部状态,并在对象之外保存这个状态,为以后的状态恢复作“备忘”
bylijinnan
·
2012-09-23 00:00
java
设计模式
读《
研磨设计模式
》-代码笔记-享元模式-Flyweight
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java
bylijinnan
·
2012-09-21 21:00
java
设计模式
读《
研磨设计模式
》-代码笔记-抽象工厂模式-Abstract Factory
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * Abstract Factory Pattern * 抽象工厂模式的目的是: * 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇” * 这些接口是相关或者相依赖的
bylijinnan
·
2012-09-21 20:00
abstract
读《
研磨设计模式
》-代码笔记-职责链模式-Chain Of Responsibility
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请 * bylijinnan */ abstract class Handler { /*
bylijinnan
·
2012-09-15 17:00
java
设计模式
读《
研磨设计模式
》-代码笔记-装饰模式-Decorator
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.Fi
bylijinnan
·
2012-09-15 17:00
java
设计模式
读《
研磨设计模式
》-代码笔记-桥接模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 个人觉得关于桥接模式的例子,蜡笔和毛笔这个例子是最贴切的:http://www.cnblogs.com/zhenyulu/articles/67016.html * 笔和颜色是可分离的,蜡笔把两者耦合在一起了:一支蜡笔只有一种
bylijinnan
·
2012-09-12 18:00
java
设计模式
读《
研磨设计模式
》-代码笔记-策略模式-Strategy
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /* 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化 简单理解: 1、将不同的策略提炼出一个共同接口。这是容易的,因为不同的策略,只是算法不同,需要传递的参数
bylijinnan
·
2012-09-12 18:00
java
设计模式
研磨设计模式
sishuok.com/forum/posts/list/5631.html 更多教程:http://sishuok.com/forum/posts/list/4339.html 设计模式基础——
研磨设计模式
lk557
·
2012-09-09 23:00
设计模式
研磨设计模式
sishuok.com/forum/posts/list/5631.html 更多教程:http://sishuok.com/forum/posts/list/4339.html 设计模式基础——
研磨设计模式
lk557
·
2012-09-09 23:00
设计模式
原型模式——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习抽象工厂模式一:初识抽象工厂模式包括:定义、结构、参考实现二:体会抽象工厂模式包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解抽象工厂模式包括:认识抽象工厂模式、定义可扩展的工厂、抽象工厂模式和DAO、抽象工厂模式的优缺点四:思考抽象工厂模式包括:抽象工厂模式的本质、何时选用 初识抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。结构
jenmhdn
·
2012-09-03 12:00
设计模式
生成器模式——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习生成器模式一:初识生成器模式包括:定义、结构、参考实现二:体会生成器模式包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解生成器模式包括:认识生成器模式、生成器模式的实现、使用生成器模式构建复杂对象、生成器模式的优点四:思考生成器模式包括:生成器模式的本质、何时选用 初识生成器模式定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。结构和说明B
jenmhdn
·
2012-08-31 06:00
设计模式
抽象工厂模式——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习抽象工厂模式一:初识抽象工厂模式包括:定义、结构、参考实现二:体会抽象工厂模式包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解抽象工厂模式包括:认识抽象工厂模式、定义可扩展的工厂、抽象工厂模式和DAO、抽象工厂模式的优缺点四:思考抽象工厂模式包括:抽象工厂模式的本质、何时选用 初识抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。结构
jenmhdn
·
2012-08-29 13:00
抽象工厂模式
设计模式――中介者
个人在CSDN的BLOG:http://blog.csdn.net/feb13/article/details/7906868MEDIATOR中介者 参考《设计模式——可复用面向对象软件的基础》和《
研磨设计模式
hingkwan
·
2012-08-25 16:43
设计模式
Mediator
中介者
设计模式——中介者
个人在CSDN的BLOG:http://blog.csdn.net/feb13/article/details/7906868MEDIATOR中介者参考《设计模式——可复用面向对象软件的基础》和《
研磨设计模式
hingkwan
·
2012-08-25 16:43
设计模式
Mediator
中介者
设计模式
研磨设计模式
——跟着cc学设计系列 汇总贴
课程地址:http://sishuok.com/product/501 PPT和源码下载:http://sishuok.com/forum/posts/list/5631.html 更多教程:http://sishuok.com/forum/posts/list/4339.html 设计模式基础——研磨设计
jenmhdn
·
2012-08-25 13:00
设计模式
相关模式辨析——
研磨设计模式
——跟着cc学设计系列
本节课程概览相关模式关于相关模式的辨析、比较、选择以及组合使用等。提前说明模式选择的方法1:模式的功能——看是否能解决问题2:模式的本质——看模式是否主要用来解决这类问题3:模式的适用程度——看使用这个模式是否贴切,看是否需要变形4:应用模式的复杂程度——看使用模式带来的开发复杂度是否可接受或可控5:应用模式的代价——看使用模式的代价是否可接受或可控,如:引入过多的对象、耗费更多的内存等 很多模式
jenmhdn
·
2012-08-24 20:00
设计模式
读《
研磨设计模式
》-代码笔记-工厂方法模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 工厂方法模式:使一个类的实例化延迟到子类 * 某次,我在工作不知不觉中就用到了工厂方法模式(称为模板方法模式更恰当。2012-10-29): * 有很多不同的产品,它
bylijinnan
·
2012-08-24 16:00
java
设计模式
读《
研磨设计模式
》-代码笔记-简单工厂模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 个人理解:简单工厂模式就是IOC; * 客户端要用到某一对象,本来是由客户创建的,现在改成由工厂创建,客户直接取就好了 */ interface IProduct {
bylijinnan
·
2012-08-24 16:00
java
设计模式
抽象工厂模式——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习抽象工厂模式一:初识抽象工厂模式包括:定义、结构、参考实现二:体会抽象工厂模式包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解抽象工厂模式包括:认识抽象工厂模式、定义可扩展的工厂、抽象工厂模式和DAO、抽象工厂模式的优缺点四:思考抽象工厂模式包括:抽象工厂模式的本质、何时选用 初识抽象工厂模式定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。结构
jenmhdn
·
2012-08-24 12:00
抽象工厂模式
读《
研磨设计模式
》-代码笔记-组合模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; abstract class Component { public abstract void printStruct(Str
bylijinnan
·
2012-08-23 18:00
java
设计模式
读《
研磨设计模式
》-代码笔记-模板方法模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;
bylijinnan
·
2012-08-23 18:00
java
设计模式
工厂方法模式——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习工厂方法模式一:初识工厂方法模式包括:定义、结构、参考实现二:体会工厂方法模式包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解工厂方法模式包括:认识工厂方法模式、工厂方法模式与IoC/DI、 平行的类层次结构、参数化工厂方法、 工厂方法模式的优缺点四:思考工厂方法模式包括:工厂方法模式的本质、对设计原则的体现、何时选用初识工厂方法模式定
jenmhdn
·
2012-08-23 11:00
工厂方法模式
简单工厂——
研磨设计模式
——跟着cc学设计系列
本节课程概览学习简单工厂一:初识简单工厂包括:定义、结构、参考实现二:体会简单工厂包括:场景问题、不用模式的解决方案、使用模式的解决方案三:理解简单工厂包括:典型疑问、认识简单工厂、简单工厂中方法的写法、 可配置的简单工厂、简单工厂的优缺点四:思考简单工厂包括:简单工厂的本质、何时选用 提前申明简单工厂不是一个标准的设计模式简单工厂非常常用,简单而又神奇,所以还是需要好好掌握可以
jenmhdn
·
2012-08-22 19:00
设计模式
设计模式基础——
研磨设计模式
——跟着cc学设计系列
提前声明 本视频课程是北京Java私塾原创精品书籍《
研磨设计模式
》一书的配套学习视频,由《
研磨设计模式
》的第一作者CC录制 建议结合《
研磨设计模式
》一书进行学习,效果会更佳
jenmhdn
·
2012-08-22 14:00
设计模式
研磨设计模式
之 组合模式(Composite) 3——跟着cc学设计系列
15.3 模式讲解15.3.1 认识组合模式(1)组合模式的目的组合模式的目的是:让客户端不再区分操作的是组合对象还是叶子对象,而是以一个统一的方式来操作。实现这个目标的关键之处,是设计一个抽象的组件类,让它可以代表组合对象和叶子对象。这样一来,客户端就不用区分到底是组合对象还是叶子对象了,只需要全部当成组件对象进行统一的操作就可以了。(2)对象树通常,组合模式会组合出树形结构来,组成这个树形结构
chjavach
·
2012-08-22 08:00
设计模式
读《
研磨设计模式
》-代码笔记-原型模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * Effective Java 建议使用copy constructor or copy factory来代替clone()方法: * 1.public Product copy(Product p){} * 2.publi
bylijinnan
·
2012-08-21 19:00
java
设计模式
读《
研磨设计模式
》-代码笔记-生成器模式-Builder
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF) * 个人理解: * 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构
bylijinnan
·
2012-08-21 19:00
java
设计模式
读《
研磨设计模式
》-代码笔记-代理模式-Proxy
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /* * 下面
bylijinnan
·
2012-08-20 19:00
java
设计模式
读《
研磨设计模式
》-代码笔记-单例模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ public class Singleton { } /* * 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题 */ class LazySingleton
bylijinnan
·
2012-08-20 19:00
java
设计模式
研磨设计模式
之 组合模式(Composite) 2——跟着cc学设计系列
15.2 解决方案15.2.1 组合模式来解决用来解决上述问题的一个合理的解决方案就是组合模式。那么什么是组合模式呢?(1)组合模式定义 (2)应用组合模式来解决的思路 仔细分析上面不用模式的例子中,要区分组合对象和叶子对象的根本原因,就在于没有把组合对象和叶子对象统一起来,也就是说,组合对象类型和叶子对象类型是完全不同的类型,这导致了操作的时候必须区分它们。 组合模式通过引入
chjavach
·
2012-08-20 13:00
设计模式
研磨设计模式
之 组合模式(Composite) 1——跟着cc学设计系列
15.1 场景问题 15.1.1 商品类别树 考虑这样一个实际的应用:管理商品类别树。 在实现跟商品有关的应用系统的时候,一个很常见的功能就是商品类别树的管理,比如有如下所示的商品类别树: +服装 +男装 &nb
chjavach
·
2012-08-20 12:00
设计模式
研磨设计模式
之 迭代器模式(Iterator)3——跟着cc学设计系列
14.3 模式讲解 14.3.1 认识迭代器模式 (1)迭代器模式的功能 迭代器模式的功能主要在于提供对聚合对象的迭代访问。迭代器就围绕着这个“访问”做文章,延伸出很多的功能来。比如: 以不同的方式遍历聚合对象,比如向前、向后等 对同一个聚合同时进行多个遍历 以不同的遍历策略来遍历聚合,比如是否需要过滤等 多态迭代,含义是:为不同的聚合结构,提供
chjavach
·
2012-08-19 07:00
iterator
研磨设计模式
之 迭代器模式(Iterator)2——跟着cc学设计系列
14.2 解决方案14.2.1 迭代器模式来解决用来解决上述问题的一个合理的解决方案就是迭代器模式。那么什么是迭代器模式呢?(1)迭代器模式定义 所谓聚合是:指一组对象的组合结构,比如:Java中的集合、数组等。(2)应用迭代器模式来解决的思路 仔细分析上面的问题,要以一个统一的方式来访问内部实现不同的聚合对象,那么首先就需要把这个统一的访问方式定义出来,按照这个统一的访问方式定义出来的
chjavach
·
2012-08-18 03:00
iterator
研磨设计模式
之 迭代器模式(Iterator)1——跟着cc学设计系列
14.1 场景问题 14.1.1 工资表数据的整合 考虑这样一个实际应用:整合工资表数据。 这个项目的背景是这样的,项目的客户方收购了一家小公司,这家小公司有自己的工资系统,现在需要整合到客户方已有的工资系统上
chjavach
·
2012-08-17 10:00
iterator
私塾在线《
研磨设计模式
》,精品课程上线特大惊喜
《
研磨设计模式
》——跟着CC学设计,视频课程在 私塾在线 上线啦! 想学习设计模式的朋友可以前去看看。
chjavach
·
2012-08-17 10:00
设计模式 研磨设计模式
跟着cc学设计 之
研磨设计模式
目录汇总贴
研磨设计模式
的 前言 ——跟着cc学设计系列 《
研磨设计模式
》 配套源代码 ——跟着cc学设计系列
研磨设计模式
之工厂方法模式-1 ——跟着cc学设计系列
chjavach
·
2012-08-16 09:00
设计模式
研磨设计模式
之 观察者模式(Observer) 3——跟着cc学设计系列
12.3 模式讲解12.3.1 认识观察者模式(1)目标和观察者之间的关系 按照模式的定义,目标和观察者之间是典型的一对多的关系。 但是要注意,如果观察者只有一个,也是可以的,这样就变相实现了目标和观察者之间一对一的关系,这也使得在处理一个对象的状态变化会影响到另一个对象的时候,也可以考虑使用观察者模式。 同样的,一个观察者也可以观察多个目标,如果观察者为多个目标定义
chjavach
·
2012-08-16 08:00
observer
研磨设计模式
提纲
1、第2章 简单工厂(GoF的著作中没有)提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。2、第3章 外观模式(GoF的著作中划分为结构型)为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。3、第4章 适配器模式(GoF的著作中划分为结构型)将一个类的接口转换成客户希望的另外一个接
buyaore_wo
·
2012-08-15 16:00
研磨设计模式
之 观察者模式(Observer) 1——跟着cc学设计系列
12.1 场景问题12.1.1 订阅报纸的过程来考虑实际生活中订阅报纸的过程,这里简单总结了一下,订阅报纸的基本流程如下:首先按照自己的需要选择合适的报纸,具体的报刊杂志目录可以从邮局获取。选择好后,就到邮局去填写订阅单,同时交上所需的费用。至此,就完成了报纸的订阅过程,接下去的就是耐心等候,报社会按照出报时间推出报纸,然后报纸会被送到每个订阅人的手里。 画个图来描述上述过程,如图12.
chjavach
·
2012-08-15 07:00
observer
研磨设计模式
之 观察者模式(Observer) 2——跟着cc学设计系列
12.2 解决方案12.2.1 观察者模式来解决用来解决上述问题的一个合理的解决方案就是观察者模式。那么什么是观察者模式呢?(1)观察者模式定义 (2)应用观察者模式来解决的思路在前面描述的订阅报纸的例子里面,对于报社来说,在一开始,它并不清楚究竟有多少个订阅者会来订阅报纸,因此,报社需要维护一个订阅者的列表,这样当报社出版报纸的时候,才能够把报纸发放到所有的订阅者手中。对于订阅者来说,订阅者也
chjavach
·
2012-08-15 07:00
observer
研磨设计模式
之 代理模式(Proxy)3——跟着cc学设计系列
11.3 模式讲解11.3.1 认识代理模式(1)代理模式的功能代理模式是通过创建一个代理对象,用这个代理对象去代表真实的对象,客户端得到这个代理对象过后,对客户端没有什么影响,就跟得到了真实对象一样来使用。 当客户端操作这个代理对象的时候,实际上功能最终还是会由真实的对象来完成,只不过是通过代理操作的,也就是客户端操作代理,代理操作真正的对象。 正是因为有代理对象夹在客户端和
chjavach
·
2012-08-14 14:00
proxy
研磨设计模式
之 代理模式(Proxy)2——跟着cc学设计系列
11.2 解决方案11.2.1 代理模式来解决用来解决上述问题的一个合理的解决方案就是代理模式。那么什么是代理模式呢?(1)代理模式定义 (2)应用代理模式来解决的思路仔细分析上面的问题,一次性访问多条数据,这个可能性是很难避免的,是客户的需要。也就是说,要想节省内存,就不能从减少数据条数入手了,那就只能从减少每条数据的数据量上来考虑。一个基本的思路如下:由于客户访问这多条用户数据的时候,基本上
chjavach
·
2012-08-13 12:00
proxy
研磨设计模式
之 代理模式(Proxy)1——跟着cc学设计系列
11.1 场景问题 11.1.1 访问多条数据 考虑这样一个实际应用:要一次性访问多条数据。 这个功能的背景是这样的;在一个HR(人力资源)应用项目中客户提出,当选择一个部门或是分公司的时候,要把这个部门或者分公司下的所
chjavach
·
2012-08-13 12:00
proxy
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他