zoukankan      html  css  js  c++  java
  • 《大话设计模式》读书笔记一 简单工厂模式

     

    经验不多的程序员写程序喜欢按计算机思考的方式来进行编程,但是这样写出来的程序往往可维护性差,可拓展性不高,并且不容易复用代码,那么如何让写出来的代码能容易维护可拓展性好并且能够复用,这就需要面向对象的思维和方法。

    书中用活字印刷形象地展示了面向对象的妙处,其一,之前的刻板印刷,更改一篇文章就需要更换一块刻板重新刻字,而活字印刷只需要“更改要改之字”,体现了可维护性;其二,一篇文章印刷完毕后,其活字印刷仍可复用到印刷其它文章,体现了复用性;其三,如果文章需要加字,增加对应的刻字即可,体现了可扩展性;其四,排版可竖排或横排,体现了灵活性。

    使用面向对象的分析设计编程思想,通过封装、继承、多态把程序的耦合性降低,应用设计模式则可以使得程序更加灵活,容易修改并且复用性高。

    编程是一门技术更是一门艺术,编写出优雅的代码是一件很爽的事情。

    书中用一个编写计算器的例子体现了简单工厂模式比没有应用设计模式只按计算机思考方式编程的好处,在这个例子中,对运算逻辑进行封装(Operation类),然后继承这个封装类可以拓展不用的运算符运算类,如加法运算类OperationAdd等,然后写一个运算工厂类OperationFactory,这个OperationFactory类实现创建不用的运算方法createOperat,这样在前台就根据传入的运算符参数进行创建相应的运算类,使用该类的计算方法得到结果。

    相关代码如下:

     

    Code

     

    Code

     

  • 相关阅读:
    在HttpHandlers (ASHX files)中使用Session
    EventCalendar控件源码和ASP.NET 2.0 Beta 2 Starter Kits中可能遇到的问题
    C# 获取数据库中某个某个表的创建脚本[原创]
    Linq 合并多个查询条件
    自定义WCF RIA Services 超时时间
    也来学学插件式开发续利用MEF
    HTML5程序设计 Geolocation API
    反射实体模型生成Oracle SQL脚本
    Entity Framework With Oracle
    Entity Framework Code First在Oracle下的伪实现
  • 原文地址:https://www.cnblogs.com/zoupeiyang/p/1437016.html
Copyright © 2011-2022 走看看