知识大全 petshop4体现的面向接口编程思想

Posted

篇首语:总有一些人路过你的人生,微不足道又无比重要。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 petshop4体现的面向接口编程思想相关的知识,希望对你有一定的参考价值。

  petshop 充分体现了面向接口编程的思想 就是给你一个接口你别管我是怎么实现的 你只管用别说其他的          namespace PetShop BLL         /// <summary>        /// A business ponent to manage products        /// </summary>        public class Product         // Get an instance of the Product DAL using the DALFactory        // Making this static will cache the DAL instance after the initial load private static readonly IProduct dal = PetShop DALFactory DataAccess CreateProduct();

  在bll层 这里使用创建Produce的接口 你只管调用他的方法

  namespace PetShop IDAL                /// <summary>        /// Interface for the Product DAL        /// </summary>

  public interface IProduct                /// <summary>        /// Method to search products by category name        /// </summary>        /// <param name= category >Name of the category to search by</param>        /// <returns>Interface to Model Collection Generic of search results</returns> IList<ProductInfo> GetProductsByCategory(string category);        /// <summary>        /// Method to search products by a set of keyword        /// </summary>        /// <param name= keywords >An array of keywords to search by</param>        /// <returns>Interface to Model Collection Generic of search results</returns> IList<ProductInfo> GetProductsBySearch(string[] keywords);        /// <summary>        /// Query for a product        /// </summary>        /// <param name= productId >Product Id</param>        /// <returns>Interface to Model ProductInfo for requested product</returns> ProductInfo GetProduct(string productId);

  这里是定义了Product接口和他的虚方法          namespace PetShop SQLServerDAL         public class Product : IProduct         //Static constants private const string SQL_SELECT_PRODUCTS_BY_CATEGORY = SELECT Product ProductId Product Name Product Descn Product Image Product CategoryId FROM Product WHERE Product CategoryId = @Category ; private const string SQL_SELECT_PRODUCTS_BY_SEARCH = SELECT ProductId Name Descn Product Image Product CategoryId FROM Product WHERE (( ; private const string SQL_SELECT_PRODUCTS_BY_SEARCH = LOWER(Name) LIKE % + + % OR LOWER(CategoryId) LIKE % + + % ; private const string SQL_SELECT_PRODUCTS_BY_SEARCH = ) OR ( ; private const string SQL_SELECT_PRODUCTS_BY_SEARCH = )) ; private const string SQL_SELECT_PRODUCT = SELECT Product ProductId Product Name Product Descn Product Image Product CategoryId FROM Product WHERE Product ProductId = @ProductId ; private const string PARM_CATEGORY = @Category ; private const string PARM_KEYWORD = @Keyword ; private const string Parm_PRODUCTID = @ProductId ;        /// <summary>        /// Query for products by category        /// </summary>        /// <param name= category >category name</param>        /// <returns>A Generic List of ProductInfo</returns> public IList<ProductInfo> GetProductsByCategory(string category)         IList<ProductInfo> productsByCategory = new List<ProductInfo>();

  这里是实现Product接口的类          namespace PetShop DALFactory         /// <summary>        /// This class is implemented following the Abstract Factory pattern to create the DAL implementation        /// specified from the configuration file        /// </summary> public sealed class DataAccess         // Look up the DAL implementation we should be using private static readonly string path = ConfigurationManager AppSettings[ WebDAL ]; private static readonly string orderPath = ConfigurationManager AppSettings[ OrdersDAL ]; private DataAccess()         public static PetShop IDAL ICategory CreateCategory() string className = path + Category ; return (PetShop IDAL ICategory)Assembly Load(path) CreateInstance(className);

  这里是利用工厂模式来映射你需要你想创建哪一个

  后面还有一些消息队列MSMQMessage利用cache缓存以后达到异步处理购物车里订单的功能!

cha138/Article/program/net/201311/11385

相关参考

知识大全 Java语言深入--什么叫面向接口编程

Java语言深入--什么叫面向接口编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在一个面向

知识大全 试简单概括面向对象接口编程

  本文不是为了论证面向对象方法论那需要深厚的理论知识和丰富的实践经验本人两方面都差得很远  这里只是试图给出一个对面象接口的深入浅出的简单原则  就象数学很难数论很难但是九九表不难各位数字之和被整除

知识大全 Java中消除实现继承和面向接口的编程

Java中消除实现继承和面向接口的编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在匆忙之际

知识大全 关于什么叫面向接口编程

在一个面向对象的系统中系统的各种功能是由许许多多的不同对象协作完成的在这种情况下各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了而各个对象之间的协作关系则成为系统设计的关键小到不同类之间的

知识大全 面向对象思想之 -- 限制对象属性的访问

  虽然Java只支持从一个父类继承但它使用接口的方式支持多重继承  接口实现了多态使得我们能够给与对象不同特性以满足不同的需要  你可以使用多态机制让完成相似功能的不同的方法拥有相同的名字但是拥有不

知识大全 面向对象思想之 -- 理解类和对象

  上一次在使用Java开始面向对象的编程这篇文章中我们学习了一个编程语言要真正成为面向对象的它应该支持信息隐藏/封装多态继承和动态绑定另外我们知道了Java完全支持这些功能而且知道了因为Java是一

实施“科教兴国”战略,体现了邓小平理论中__的思想

实施“科教兴国”战略,体现了邓小平理论中_____的思想A、发展才是硬道理B、尊重知识,尊重人才C、科学技术是第一生产力D、教育要面向现代化,面向世界,面向未来答案:C解析:科教兴国战略的主要内容是:

中国共产党要始终代表先进文化前进方向,必须努力体现发展__社会主义文化要求,促进思想道德、科学文化的提高,为社会主

中国共产党要始终代表先进文化前进方向,必须努力体现发展_____社会主义文化要求,促进思想道德、科学文化的提高,为社会主义建设提供精神动力和智力支持。A、面向现代化、面向世界、面向未来的,民族的、科学

知识大全 代码复用的规则

  代码复用是绝大多数程序员所期望的也是OO的目标之一总结我多年的编码经验为了使代码能够最大程度上复用应该特别注意以下几个方面  对接口编程  对接口编程是面向对象设计(OOD)的第一个基本原则它的含

知识大全 PHP面向对象编程快速入门

PHP面向对象编程快速入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象编程(OOP)