■ 클래스 계약을 사용하는 방법을 보여준다.
▶ 예제 코드 (C#)
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
using System; using System.ServiceModel; /// <summary> /// 상점 클래스 /// </summary> [ServiceContract(Namespace="http://company.com/bookstore")] public class BookStore { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// 주문 ID /// </summary> private static int _orderID = 0; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Public #region 취소하기 - Cancel(orderID) /// <summary> /// 취소하기 /// </summary> /// <param name="orderID">주문 ID</param> /// <returns>처리 결과</returns> [OperationContract] public bool Cancel(int orderID) { Console.WriteLine("취소 주문 : 주문 ID={0}", orderID); return true; } #endregion ////////////////////////////////////////////////////////////////////////////////////////// Protected #region 주문하기 - OrderID(userID, isbn, amount) /// <summary> /// 주문하기 /// </summary> /// <param name="userID">사용자 ID</param> /// <param name="isbn">IDBN</param> /// <param name="amount">수량</param> /// <returns>주문 ID</returns> [OperationContract] protected int Order(string userID, string isbn, int amount) { int price = GetUnitPrice(isbn) * amount; _orderID += 1; Console.WriteLine ( "주문 도서 : 주문 ID={0}\n 사용자 ID={1}, ISBN={2}, 수량={3}, 가격={4}", _orderID, userID, isbn, amount, price ); return _orderID; } #endregion ////////////////////////////////////////////////////////////////////////////////////////// Private #region 단가 구하기 - GetUnitPrice(isbn) /// <summary> /// 단가 구하기 /// </summary> /// <param name="isbn">ISBN</param> /// <returns>단가</returns> private int GetUnitPrice(string isbn) { return 35000; } #endregion } |