¿Qué es la programación oo? ¿Cuáles son las dos abreviaturas en inglés de oo? ¿Qué significa el signo rss?
OO (Orientada a Objetos)
¿Qué es OO?
Es programación orientada a interfaz. Ya sea que use vtable, un objeto de función gp, un puntero de función C, descomposición ortogonal o varios patrones, todos son una implementación de la idea de programación orientada a interfaz.
¿Por qué deberíamos programar para interfaces?
Para desacoplamiento.
¿Qué es el desacoplamiento?
Consiste en separar los módulos del programa que no están relacionados o que están limitados entre sí. Al igual que cuando ordenas una casa, debes colocar diferentes cosas en diferentes lugares. Vierta la salsa de soja y el vinagre en botellas separadas.
Aquí se pueden implementar funciones completamente independientes de forma sencilla y por separado.
Pero de hecho, en muchos casos, existe una relación entre diferentes módulos. En este momento, se necesita una interfaz. Utilice interfaces para definir con precisión las relaciones entre módulos. Antes del desacoplamiento, toda la información se comparte entre los dos módulos (esta información incluye datos, así como sus respectivos detalles de implementación). Después del desacoplamiento, la información que debe compartirse se define con precisión en la interfaz. Al mismo tiempo, también se determina el flujo de información.
¿Cuáles son los beneficios del desacoplamiento?
Primero, el procedimiento queda claro.
En segundo lugar, los detalles de implementación que no deberían exponerse están ocultos. Las modificaciones de código son más fáciles.
Nuevamente, la estructura es flexible. A través del polimorfismo estático (objeto de función) o polimorfismo dinámico (vtable), un módulo puede cooperar con cualquier módulo que implemente la interfaz. Resulta que la clase A solo puede cooperar con la clase B. Después del desacoplamiento, puede cooperar con todas las clases que implementan la interfaz IB, como B1, B2, .... La escalabilidad se mejora enormemente. La reutilización de código es algo natural.
No existen dependencias de compilación. Puede concentrarse en escribir y compilar un módulo sin esperar a que se completen otros módulos.
La depuración es sencilla. Siempre que el módulo depure con éxito una interfaz, no habrá problemas con otras interfaces. Por lo tanto, incluso puede utilizar una clase ficticia simple e ingenua que implemente esta interfaz para la depuración. (Esto no se aplica a gp que usa plantilla)
Entonces, ¿cuáles son las desventajas del desacoplamiento?
La definición de la interfaz se vuelve crítica. Desacoplar significa ocultar cierta información y definir otra información que debe compartirse. Si la interfaz no está bien definida y oculta información que no debería ocultarse, entonces el desacoplamiento fallará en algunas situaciones complejas que requieren esta información.
Y si alguna información que debería estar oculta no está oculta, entonces el acoplamiento que no debería existir seguirá existiendo.
Entonces, ¿cómo desacoplar y definir la interfaz?
Este es un proceso de pensamiento puramente lógico de negocios. Aquí el conocimiento de los lenguajes de programación se vuelve irrelevante. De hecho, cualquiera que pueda pensar lógicamente puede hacer este trabajo siempre que comprenda con precisión los requisitos y analice rigurosamente los requisitos y los requisitos entre submódulos dentro del módulo. Al igual que el cantante Zheng Zhihua, aunque no sabe leer música, todavía escribe canciones, pero al final, alguien que sabe música debe grabar las canciones.
El principio de desacoplamiento es simple: definir los requisitos con precisión y analizarlos cuidadosamente. No ocultes ninguna información que el "requisito" pueda requerir. No deje de lado ninguna información que claramente no sea necesaria para su "requisito".
Cuando la demanda no está clara, es mejor extraviar mil que matar uno por error. En resumen, nunca se debe ocultar la información que pueda ser necesaria.
No se considera la reutilización. La reutilización es el resultado natural del desacoplamiento. ¡No culpes a la causa y al efecto!
/zh/index.rss, /rss del sitio YAHOO, /aboutmsdn/rss.asp del sitio Microsoft MSDN, etc.
1. La historia del RSS
Entonces, ¿qué significa RSS? Hay dos dichos comunes, uno es "Resumen de sitio enriquecido" o "Resumen de sitio RDF", y el otro es "Distribución realmente simple". La razón de estas diferencias debe comenzar con la historia del desarrollo de RSS.
La versión 0.90 original de RSS fue diseñada por Netscape para construir un portal que integrara el contenido de los principales sitios de noticias. Sin embargo, la especificación RSS de la versión 0.90 era demasiado compleja y una versión simplificada RSS 0.91 era. También se suspendió en 2000 cuando Netscape abandonó el proyecto.
Pronto, UserLand, una empresa especializada en el desarrollo de software de redacción de blogs, se hizo cargo del desarrollo de la versión 0.91 de RSS y continuó desarrollándola como una de las funciones básicas de su software de redacción de blogs, lanzando gradualmente 0.92, 0.93. y Versión 0.94. Con la popularidad de los blogs en línea, RSS como función básica también es compatible con cada vez más sitios web y software de blogs.
Mientras UserLand se hizo cargo y continuó desarrollando RSS, muchos profesionales se dieron cuenta de la necesidad de convertir RSS en una especificación universal y estandarizarlo aún más a través de una organización externa no comercial. Entonces, en 2001, un equipo conjunto redefinió RSS bajo los principios de desarrollo de la versión 0.90 RSS y basándose en la tecnología web semántica de nueva generación RDF (Marco de descripción de recursos) del W3C, lanzó RSS1.0 y definió RSS como "Resumen del sitio RDF". Sin embargo, este trabajo no implicó una comunicación efectiva con UserLand Company no reconoció la validez de RSS 1.0 e insistió en seguir desarrollando versiones posteriores de RSS de acuerdo con sus propias ideas. En septiembre de 2002, se lanzó la última versión de RSS 2.0. UserLand Company define RSS como "distribución realmente sencilla".
En la actualidad, RSS se ha dividido en dos bandos: RSS 0.9x/2.0 y RSS 1.0. Debido a la existencia de diferencias y la aplicación generalizada de RSS 0.9x/2.0, RSS 1.0 aún no se ha convertido. un verdadero estándar de la organización de normalización.
2. Versiones actuales y recomendaciones de RSS
Hasta el momento, existen siete versiones de RSS. Las recomendadas son RSS 1.0 y RSS 2.0 para algunos sitios básicos. También puede elegir RSS 0.91.
3. Introducción a la sintaxis de RSS
Un archivo RSS es un fragmento de datos XML estandarizados. El archivo generalmente tiene como sufijo rss, xml o rdf. A continuación elegimos una parte de /visualc/rss.xml como ejemplo para describir brevemente (omitido)
4. Sindicación y agregación de RSS
Publicar un archivo RSS (comúnmente conocido como RSS Feed), la información contenida en este RSS Feed puede ser consultada directamente por otros sitios y, dado que estos datos están en formato XML estándar, también se pueden utilizar en otros terminales y servicios, como PDA, teléfonos móviles, listas de correo, etc. Además, una alianza de sitios web (como una serie de sitios web dedicados al turismo) también puede mostrar automáticamente la información más reciente de otros sitios de la alianza de sitios web llamando a los canales RSS de cada uno. Esto se denomina federación RSS. Esta combinación hace que cuanto más oportunamente se actualice el contenido de un sitio y cuanto más se llamen a los feeds RSS, mayor será la visibilidad del sitio, formando así un círculo virtuoso.
La llamada agregación RSS consiste en recopilar varios canales RSS de Internet a través de herramientas de software y proporcionarlos a los lectores en una interfaz. Este software puede ser herramientas WEB en línea, como , , , , /meerkat, etc., o pueden ser herramientas descargadas al cliente para su instalación
5. El desarrollo futuro de RSS
Cada vez hay más sitios que admiten RSS, y RSS se ha convertido en la aplicación XML de mayor éxito en la actualidad. RSS ha creado una plataforma técnica para la rápida difusión de información, convirtiendo a todos en potenciales proveedores de información. Creo que pronto veremos un gran número de portales profesionales, sitios de agregación y motores de búsqueda más precisos basados en RSS.
Material de referencia:/resource/R01/Internet_1005.htm